跳到主要内容

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真题

交流微信二维码

你可能还想看