CHR
📄字数 628
👁️阅读量 加载中...
功能描述
根据给定的字符集编码的十进制数,返回在当前的库字符集下对应的单字节或多字节字符形式。不支持小于 0
的值。
数据库的字符集支持详见字符集。
提示
- CHR()函数的参数应为当前库字符集下合法的编码值,指定无效的编码值将返回 NULL 或抛出异常。例如:
- 若库字符集为
UTF-8
,指定参数值为14989477
,函数将返回字符“严”。 - 若库字符集为
GBK
,指定参数值为53711
,函数将返回字符“严”。 - 若库字符集为
UTF-8
,指定参数值为252
,函数将返回“\xFC”。 - 若库字符集为
LATIN1
,指定参数值为252
,函数将返回字符“ü”。
- 若库字符集为
语法格式
sql
CHR(expr)
输入参数
expr
:字符集编码值的十进制数,BIGINT
类型,或能隐式转换为BIGINT
类型的其他类型。
输出结果
返回 VARCHAR
类型。若输入参数为空字符串或者为 NULL
,则输出结果为 NULL
;若输入参数为长度非零的空格串,输出结果为单个空格串。
示例
以字符集为UTF-8的数据库为例:
sql
-- 返回 ASCII 码值对应的单字节字符
SQL> SELECT CHR(66), CHR(67), CHR(68);
+-------+-------+-------+
| EXPR1 | EXPR2 | EXPR3 |
+-------+-------+-------+
| B | C | D |
+-------+-------+-------+
SQL> SELECT CONV(RAWTOHEX('你'), 16, 10) FROM dual;
+----------+
| EXPR1 |
+----------+
| 14990752 |
+----------+
SQL> SELECT CONV(RAWTOHEX('好'), 16, 10) FROM dual;
+----------+
| EXPR1 |
+----------+
| 15050173 |
+----------+
-- 返回 UTF-8 字符集编码值的十进制数对应的多字节字符
SQL> SELECT CHR(14990752) || CHR(15050173) FROM dual;
+-------+
| EXPR1 |
+-------+
| 你好 |
+-------+