MariaDB 函数

MariaDB CHAR() 函数将每个传递的参数解释为整数,并返回一个由这些整数的代码值给出的字符组成的字符串。它忽略 NULL 值。

对于大于 255 的参数,将转换为多个结果字节。例如,CHAR(256) 相当于 CHAR(1,0),CHAR(256*256) 相当于 CHAR(1,0,0)。

默认情况下,此函数返回一个二进制字符串。要生成给定字符集中的字符串,可以使用可选的 USING 子句。请参阅下面的示例。如果给出 USING 并且结果字符串对于给定字符集非法,则会发出警告。另外,如果启用严格 SQL 模式,CHAR() 的结果将变为 NULL。

语法

CHAR(N,... [USING charset_name]) 

参数

N,...必填。 指定要检索其字符值(根据 ASCII 表)的整数。
USING charset_name可选。 用于生成给定字符集中的字符串。

返回值

返回一个由这些整数的代码值给出的字符组成的字符串。它忽略 NULL 值。

示例 1:

下面的示例显示了 CHAR() 函数的用法。

SELECT CHAR(72,69,76,76,79);
Result: 'HELLO'

SELECT CHAR(72,69,76,NULL,76,79);
Result: 'HELLO'

SELECT CHAR('72',69,'76',76,79);
Result: 'HELLO'

SELECT CHAR('72.8',69,'76.3',76,79);
Result: 'HELLO'

SELECT CHAR(65,66,67);
Result: 'ABC'

SELECT CHAR(65,66,67 USING utf8);
Result: 'ABC'

SELECT CHARSET(CHAR(65)), CHARSET(CHAR(65 USING utf8));
Result: 'binary', 'utf8' 

示例 2:

考虑一个名为 Sample 的数据库表,其中包含以下记录:

Datax1x2x3
Data167117116
Data280117116
Data384111111
Data466111119
Data5677968
Data669110100

可以使用下面给出的语句获取包含由 x1、x2 和 x3 列指定的代码值给出的字符的字符串。

SELECT *, CHAR(x1, x2, x3) AS CHAR_String FROM Sample; 

The查询将产生以下结果:

Datax1x2x3CHAR_String
Data167117116Cut
Data280117116Put
Data384111111Too
Data466111119Bow
Data5677968COD
Data669110100End