MySQL CHAR() 用法与实例

在 MySQL 中, CHAR() 函数接受一个或多个整数为参数,它将每个整数参数转为对应的字符,并将这些字符组成一个字符串返回。

发布于

在 MySQL 中, CHAR() 函数接受一个或多个整数为参数,它将每个整数参数转为对应的字符,并将这些字符组成一个字符串返回。

本文将说明 MySQL CHAR() 函数的用法并给出了几个实例。

语法

您可以使用以下语法:

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

其中 num1... numN 是一些整数参数, USING charset_name 用于指定返回字符串使用的字符集。

示例 1 – 基本用法

下面是演示基本用法的示例:

SELECT CHAR(65, 66, 67);

输出:

+------------------+
| CHAR(65, 66, 67) |
+------------------+
| ABC              |
+------------------+

示例 2 – USING 子句

下面是添加 USING 子句以指定 UTF-8 编码的示例:

SELECT CHAR(0xc2a7 USING utf8);

输出:

+-------------------------+
| CHAR(0xc2a7 USING utf8) |
+-------------------------+
| §                       |
+-------------------------+

下面是另一个我指定 unicode 代码点的示例:

SELECT CHAR(0x027FA USING ucs2);

输出:

+--------------------------+
| CHAR(0x027FA USING ucs2) |
+--------------------------+
| ⟺                        |
+--------------------------+

示例 3 – 多个结果字节

大于 255 的参数将转换为多个结果字节。下面是一个要演示的示例。

SELECT
  HEX(CHAR(1, 0)),
  HEX(CHAR(256)),
  HEX(CHAR(1, 1)),
  HEX(CHAR(257));

输出:

+----------------+----------------+----------------+----------------+
| HEX(CHAR(1,0)) | HEX(CHAR(256)) | HEX(CHAR(1,1)) | HEX(CHAR(257)) |
+----------------+----------------+----------------+----------------+
| 0100           | 0100           | 0101           | 0101           |
+----------------+----------------+----------------+----------------+

如果我们增加数字:

SELECT
  HEX(CHAR(7, 0)),
  HEX(CHAR(1792)),
  HEX(CHAR(7, 7)),
  HEX(CHAR(1799));

输出:

+----------------+-----------------+----------------+-----------------+
| HEX(CHAR(7,0)) | HEX(CHAR(1792)) | HEX(CHAR(7,7)) | HEX(CHAR(1799)) |
+----------------+-----------------+----------------+-----------------+
| 0700           | 0700            | 0707           | 0707            |
+----------------+-----------------+----------------+-----------------+