Skip to content

转为二进制

  • TO_BINARY(COLUMN_EXPRESSION)

将输入字符串转换为二进制数据。目前仅支持HEX格式。如果输入不是有效的十六进制字符串,则引发异常: - 必须具有偶数个字符 - 所有字符必须是十六进制数字(0-9,a-f 不区分大小写)

示例:

我们给定了 table1,它包含列 ab

table1 = pd.DataFrame({
    'a': ["AB", "626f646f", "4a2F3132"],
    'b': ["ABC", "ZETA", "#fizz"],
})
在查询时
SELECT TO_BINARY(a),
FROM table1
我们将得到以下输出:
    TO_BINARY(a)
0   b'\xab'             -- 字符 '¼' 的二进制编码
1   b'\x62\x6f\x64\x6f' -- 字符串 'bodo' 的二进制编码
2   b'\x4a\x2f\x31\x32' -- 字符串 'J/12' 的二进制编码
在查询时
SELECT TO_BINARY(b)
FROM table1
我们将看到一个值错误,因为列 b 中的所有值都不是有效的十六进制字符串: - 'ABC' 是 3 个字符,这不是一个偶数 - 'ZETA' 包含非十六进制字符 ZT - '#fizz' 是 5 个字符,这不是一个偶数,并且包含非十六进制字符 #iz