南大通用GBase 8a字符串函数char的用法和使用例子

本文介绍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)

参考

GBase 8a字符串函数汇总列表

GBase 8a通过hex函数将16进制数转化为字符及字符串转16进制数