HEX_TO_BINARY
将给定的 VARCHAR 十六进制表示方式转换为 VARBINARY 值。
行为类型
不可变语法
HEX_TO_BINARY ( [ 0x ] expression )
参数
expression
- (BINARY 或 VARBINARY)要转换的字符串。
0x
- 可选前缀。
注意
VARBINARY HEX_TO_BINARY(VARCHAR) 将数据从十六进制格式字符类型转换为二进制类型。此函数是 TO_HEX 的反函数。
HEX_TO_BINARY(TO_HEX(x)) = x)
TO_HEX(HEX_TO_BINARY(x)) = x)
如果十六进制值中存在奇数个字符,则将第一个字符处理为第一个(最左边)字节的低效半字节。
示例
如果给定的字符串以“0x”开头,将忽略前缀。例如:
=> SELECT HEX_TO_BINARY('0x6162') AS hex1, HEX_TO_BINARY('6162') AS hex2;
hex1 | hex2
------+------
ab | ab
(1 row)
如果给出的是无效的十六进制值,Vertica 将会返回“无效的二进制表达方式”错误;例如:
=> SELECT HEX_TO_BINARY('0xffgf');
ERROR: invalid hex string "0xffgf"