MariaDB HEX() 函数使用指南
在 MariaDB 中,HEX()
是一个内置的字符串函数,它返回其参数的十六进制字符串表示形式。
UNHEX()
函数是 HEX()
函数逆向操作函数。
MariaDB HEX()
语法
这里是 MariaDB HEX()
函数的语法:
HEX(number)
HEX(string)
参数
number/string
- 必需的。需要以十六进制表示的数字或字符串。
如果您没有提供参数, MariaDB 将报告一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'HEX'
。
返回值
MariaDB HEX()
函数返回一个字符串,其表示给定数字或字符串的十六进制值。
如果参数为数字,HEX()
函数将返回该数字的十六进制值。
如果参数为字符串,HEX()
函数将每个字符被转换为 2 个十六进制字符。
如果参数为 NULL
,HEX()
函数将返回 NULL
。
从 MariaDB 10.5.0 开始,带有 INET6
参数的 HEX()
函数返回底层 16 字节二进制字符串的十六进制表示形式。
MariaDB HEX()
示例
基本用法
这个语句展现了 MariaDB HEX()
函数的基本用法:
SELECT
HEX(16),
HEX(255),
HEX('a'),
HEX('b'),
HEX('c'),
HEX('abc'),
HEX(NULL)\G
输出:
*************************** 1. row ***************************
HEX(16): 10
HEX(255): FF
HEX('a'): 61
HEX('b'): 62
HEX('c'): 63
HEX('abc'): 616263
HEX(NULL): NULL
数字
这个语句使用 MariaDB HEX()
函数返回一些数字的十六进制表示形式。
SELECT
HEX(0),
HEX(1),
HEX(2),
HEX(9),
HEX(10),
HEX(11),
HEX(12),
HEX(13),
HEX(14),
HEX(15),
HEX(16),
HEX(17),
HEX(18),
HEX(19),
HEX(20),
HEX(28),
HEX(29),
HEX(30),
HEX(31),
HEX(32),
HEX(33)\G
输出:
*************************** 1. row ***************************
HEX(0): 0
HEX(1): 1
HEX(2): 2
HEX(9): 9
HEX(10): A
HEX(11): B
HEX(12): C
HEX(13): D
HEX(14): E
HEX(15): F
HEX(16): 10
HEX(17): 11
HEX(18): 12
HEX(19): 13
HEX(20): 14
HEX(28): 1C
HEX(29): 1D
HEX(30): 1E
HEX(31): 1F
HEX(32): 20
HEX(33): 21
1 row in set (0.000 sec)
字符串
这个语句使用 MariaDB HEX()
函数返回一些字符或字符串的十六进制表示形式。
SELECT
HEX('a'),
HEX('A'),
HEX('abc');
输出:
+----------+----------+------------+
| HEX('a') | HEX('A') | HEX('abc') |
+----------+----------+------------+
| 61 | 41 | 616263 |
+----------+----------+------------+
INET6
从 MariaDB 10.5.0 开始,带有 INET6
参数的 HEX()
返回底层 16 字节二进制字符串的十六进制表示形式。
例:
SELECT HEX(CAST('2403:A200:A200:1100:0000:0000:0F00:0003' AS INET6));
输出:
+---------------------------------------------------------------+
| HEX(CAST('2403:A200:A200:1100:0000:0000:0F00:0003' AS INET6)) |
+---------------------------------------------------------------+
| 2403A200A2001100000000000F000003 |
+---------------------------------------------------------------+
这里又是,但使用相同的 IPv6 地址的缩写形式:
SELECT HEX(CAST('2403:A200:A200:1100:0000:0000:F00:3' AS INET6));
输出:
+-----------------------------------------------------------+
| HEX(CAST('2403:A200:A200:1100:0000:0000:F00:3' AS INET6)) |
+-----------------------------------------------------------+
| 2403A200A2001100000000000F000003 |
+-----------------------------------------------------------+
结论
MariaDB HEX()
函数返回给定数字或字符串的十六进制值的字符串表示。