[OLAP] Clickhouse 函数
1 进制转换类函数
16进制与10进制间的转换
- 综合案例
select
-- 17990 = 0x4646 = [52, 54, 52, 54] (ASCII码,10进制) = [0x34, 0x36, 0x34 , 0x36] (ASCII码,16进制)
hex('4646') -- out : String ASCII值 16进制拼接 = '34363436' | String 16进制字符串 = '4646'
, hex(17990) -- out : String 16进制字符串 = '4646' | in : Int 10进制 = 17990
, unhex('34363436') -- out : String 16进制字符串 = '4646' | in : String ASCII值 16进制拼接 = '34363436'
- hex(String|unsigned integer|Date|DateTime) : String
- 接受
String
,unsigned integer
,Date
或DateTime
类型的参数。- 返回:包含参数的十六进制表示的字符串。
- 使用大写字母A-F。不使用0x前缀或h后缀。
- 对于字符串,所有字节都简单地编码为两个十六进制数字。
- 数字转换为大端(«易阅读»)格式。
- 对于数字,去除其中较旧的零,但仅限整个字节。例如,hex(1)='01'。
- Date被编码为自Unix时间开始以来的天数。
- DateTime编码为自Unix时间开始以来的秒数。
- unhex(String)
- 接受包含任意数量的十六进制数字的字符串,并返回包含相应字节的字符串。
- 支持大写和小写字母A-F。
- 十六进制数字的数量不必是偶数。
如果是奇数,则最后一位数被解释为00-0F字节的低位。
- 如果参数字符串包含除十六进制数字以外的任何内容,则返回一些实现定义的结果(不抛出异常)。
- 如果要将结果转换为数字,可以使用«reverse»和«reinterpretAsType»函数。
X 参考文献
![QQ沟通交流群](https://blog-static.cnblogs.com/files/johnnyzen/cnblogs-qq-group-qrcode.gif?t=1679679148)
本文作者:
千千寰宇
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!