hex:十六进制转换
速查结论
hex(expr) 是 Spark SQL 中用于将数值或字符串转换为十六进制表示的函数。
语法
hex(expr)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| expr | 数值 或 字符串 | 待转换为十六进制的值;数值输出其十六进制形式,字符串输出每个字符的十六进制编码 |
示例
> SELECT hex(17);
11
> SELECT hex('Spark SQL');
537061726B2053514C
常见报错与避坑指南
- 数值 vs 字符串的不同行为:传入整数时返回其十六进制表示(如
hex(17)返回11);传入字符串时返回每个字符的 UTF-8 字节的十六进制编码。两者行为差异很大,请注意区分。 - 逆操作:可以使用
unhex()函数将十六进制字符串还原为原始字符串,但数值的十六进制转换无内置逆函数。 - NULL 输入:当
expr为 NULL 时,结果返回 NULL。
Since: 1.5.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

💬加群交流
备注「数据仓库技术」加入社群,每日一道大厂SQL真题
