SQLite HEX() 函数将传递的参数解释为 BLOB,并返回呈现该 blob 内容的大写十六进制字符串。
如果参数是整数或浮点数,则它会被解释为 BLOB,这意味着二进制数首先会转换为 UTF8 文本表示形式,然后该文本会被解释为 BLOB。因此,HEX(12345678) 呈现为"3132333435363738",而不是整数值"0000000000BC614E"的二进制表示形式。
语法
HEX(X)
参数
X | 必填。 指定要转换为十六进制表示的值。 |
返回值
返回十进制或十进制的十六进制表示字符串值。
示例 1:
下面的示例展示了 HEX() 函数的用法。
SELECT X'78797A', HEX('xyz');
Result: 'xyz', '78797A'
SELECT X'53514C', HEX('SQL');
Result: 'SQL', '53514C'
SELECT HEX(255);
Result: '323535'
SELECT HEX(500);
Result: '353030'
示例 2:
考虑一个名为 Sample 的数据库表,其中包含以下记录:
Data | x |
---|---|
Data1 | 10 |
Data2 | 20 |
Data3 | 30 |
Data4 | 40 |
Data5 | 50 |
给出的语句下面可用于获取列x的值的十六进制表示。请注意,它首先被转换为 UTF8 文本表示形式,然后该文本被解释为 BLOB。然后它返回呈现该 blob 内容的大写十六进制字符串。
SELECT *, HEX(x) AS HEX_Value FROM Sample;
这将产生如下所示的结果:
Data | x | HEX_Value |
---|---|---|
Data1 | 10 | 3130 |
Data2 | 20 | 3230 |
Data3 | 30 | 3330 |
Data4 | 40 | 3430 |
Data5 | 50 | 3530 |