ClickHouse/docs/zh/query_language/functions/encoding_functions.md

30 lines
1.8 KiB
Markdown
Raw Normal View History

2019-05-05 17:38:05 +00:00
# 编码函数
## hex
接受`String``unsigned integer``Date`或`DateTime`类型的参数。返回包含参数的十六进制表示的字符串。使用大写字母`A-F`。不使用`0x`前缀或`h`后缀。对于字符串,所有字节都简单地编码为两个十六进制数字。数字转换为大端(“易阅读”)格式。对于数字,去除其中较旧的零,但仅限整个字节。例如,`hex1='01'`。 `Date`被编码为自Unix时间开始以来的天数。 `DateTime`编码为自Unix时间开始以来的秒数。
## unhex(str)
接受包含任意数量的十六进制数字的字符串并返回包含相应字节的字符串。支持大写和小写字母A-F。十六进制数字的数量不必是偶数。如果是奇数则最后一位数被解释为00-0F字节的低位。如果参数字符串包含除十六进制数字以外的任何内容则返回一些实现定义的结果不抛出异常
如果要将结果转换为数字可以使用“reverse”和“reinterpretAsType”函数。
## UUIDStringToNum(str)
接受包含36个字符的字符串格式为“123e4567-e89b-12d3-a456-426655440000”并将其转化为FixedString16返回。
## UUIDNumToString(str)
接受FixedString16值。返回包含36个字符的文本格式的字符串。
## bitmaskToList(num)
接受一个整数。返回一个字符串其中包含一组2的幂列表其列表中的所有值相加等于这个整数。列表使用逗号分割按升序排列。
## bitmaskToArray(num)
接受一个整数。返回一个UInt64类型数组其中包含一组2的幂列表其列表中的所有值相加等于这个整数。数组中的数字按升序排列。
[来源文章](https://clickhouse.yandex/docs/en/query_language/functions/encoding_functions/) <!--hide-->