本文介绍GBase 8a字符串函数char的语法,用法说明和使用例子。
目录导航
语法
CHAR(N1,N2...)
说明
N1,N2…为整数类型参数,返回相应代表的 ASCII 码值对应的字符组成的字符串,
如果参数列表中含有 NULL 则忽略。
例子
ASCII字符
对于不超过128的ASCII码,可以直接使用。
gbase> select char(65,66);
+-------------+
| char(65,66) |
+-------------+
| AB |
+-------------+
1 row in set (Elapsed: 00:00:00.01)
汉字
本例先使用HEX拿到汉字的编码,然后用CHAR来反向构造汉字。
gbase> select hex('天');
+------------+
| hex('天') |
+------------+
| E5A4A9 |
+------------+
1 row in set (Elapsed: 00:00:00.01)
gbase> select char(x'E5',x'A4',x'A9');
+-------------------------+
| char(x'E5',x'A4',x'A9') |
+-------------------------+
| 天 |
+-------------------------+
1 row in set (Elapsed: 00:00:00.00)
空值
空值会返回空,但有warnings
gbase> select char('');
+----------+
| char('') |
+----------+
| |
+----------+
1 row in set, 1 warning (Elapsed: 00:00:00.00)
gbase> show warnings;
+---------+------+---------------------------------------+
| Level | Code | Message |
+---------+------+---------------------------------------+
| Warning | 1292 | Truncated incorrect INTEGER value: '' |
+---------+------+---------------------------------------+
1 row in set (Elapsed: 00:00:00.00)
NULL值
null值被忽略,对应位置返回空。
gbase> select char(null);
+------------+
| char(null) |
+------------+
| |
+------------+
1 row in set (Elapsed: 00:00:00.00)
gbase> select char(51,null,52);
+------------------+
| char(51,null,52) |
+------------------+
| 34 |
+------------------+
1 row in set (Elapsed: 00:00:00.00)