MariaDB CHAR() 函数使用指南

在 MariaDB 中,CHAR() 是一个内置的字符串函数,它将每个整数参数转为对应的字符,并返回由这些字符组成的一个字符串。

MariaDB CHAR() 语法

这里是 MariaDB CHAR() 函数的语法:

CHAR(num1, [num2, ...] [USING charset])

参数

num1, [num2, ...]
必需的。一些整数,或者能转为整数的值。
USING charset
可选的。它指定了返回的字符串使用的字符集。

返回值

MariaDB CHAR() 函数返回一个字符串,其中的字符由每个整数参数对应的字符组成。

参数 num1, [num2, ...] 中的 NULL 值将被 CHAR() 函数忽略。

如果你只提供了一个 NULL 值, CHAR() 函数将返回一个空串。

MariaDB CHAR() 函数默认返回的是二进制字符串,除非你使用了 USING 指定了要返回的字符集。

MariaDB CHAR() 示例

单个参数

这个语句使用 MariaDB CHAR() 返回数字 65 对应的字符:

SELECT CHAR(65);

输出:

+----------+
| CHAR(65) |
+----------+
| A        |
+----------+

多个参数

MariaDB CHAR() 函数支持多个整数参数,并将所有整数对应的字符组合成一个字符串。

这个语句使用 MariaDB CHAR() 函数返回由 72, 101, 108, 108, 111 对应的字符组成的字符串:

SELECT
  CHAR(72) AS "72",
  CHAR(101) AS "101",
  CHAR(108) AS "108",
  CHAR(111) AS "111",
  CHAR(72, 101, 108, 108, 111) AS "ALL";

输出:

+------+------+------+------+-------+
| 72   | 101  | 108  | 111  | ALL   |
+------+------+------+------+-------+
| H    | e    | l    | o    | Hello |
+------+------+------+------+-------+

使用字符集

默认情况下,MariaDB CHAR() 函数返回二进制字符串, 您可以通过 USING charset 指定返回的字符串的字符集。

SELECT CHAR(65 USING utf8mb4);

输出:

+------------------------+
| CHAR(65 USING utf8mb4) |
+------------------------+
| A                      |
+------------------------+

NULL 参数

MariaDB CHAR() 函数会忽略参数列表中的 NULL 值。

SELECT
  CHAR(65, NULL, 66),
  CHAR(NULL);

输出:

+--------------------+------------+
| CHAR(65, NULL, 66) | CHAR(NULL) |
+--------------------+------------+
| AB                 |            |
+--------------------+------------+

在本示例中,由于 CHAR(NULL) 只有一个 NULL 参数,因此什么都没返回。

其他

SELECT
    CHAR(65, 66, 67),
    CHAR(65, '66', '67'),
    CHAR(65.4, '66.5', '67.6'),
    CHAR(65, 66, NULL, 67)\G

输出:

*************************** 1. row ***************************
          CHAR(65, 66, 67): ABC
      CHAR(65, '66', '67'): ABC
CHAR(65.4, '66.5', '67.6'): ABC
    CHAR(65, 66, NULL, 67): ABC

结论

MariaDB CHAR() 函数返回由所有整数参数对应的字符组成的一个字符串。