GBase 8a支持hex函数,可以将一个字符串或数值转换为一个十六进制格式的字符串。也支持unhex将16进制字符串转化成数字。
目录导航
函数说明 HEX(N_or_S)
返回参数对应的十六进制值。
- 如果 N_or_S 是一个数字,则返回它的十六进制字符串形式,在这里,N 是一个 BIGINT 数,相当于 CONV(N,10,16);
- 如果 N_or_S是一个字符串,则返回每个字符对应的十六进制形式,其中每个字符被转化为两个十六进制数字。
- 以 0xff 形式出现的字符串是此函数的反转操作,此时,将每两位十六进制转换成其 ASCII 码输出一个字符。
使用样例
N_or_S 值为数字
gbase> SELECT HEX(255) FROM dual;
+----------+
| HEX(255) |
+----------+
| FF |
+----------+
1 row in set
N_or_S 值为字符串。
gbase> SELECT HEX('cat') FROM dual;
+------------+
| HEX('cat') |
+------------+
| 636174 |
+------------+
1 row in set
反函数,从字符串转十六进制数
gbase> SELECT 0x616263 FROM dual;
+----------+
| 0x616263 |
+----------+
| abc |
+----------+
1 row in set
UNHEX函数
和hex完全相反,将16进制字符串还原成数字类型。
gbase> select unhex('616263');
+-----------------+
| unhex('616263') |
+-----------------+
| abc |
+-----------------+
1 row in set (Elapsed: 00:00:00.00)