十七、clickhouse编码函数
-- hex(), unhex(), UUIDStringToNum(str), UUIDNumToString(str),bitmaskToList(num) ...
-- 1.hex函数编码
SELECT -- 68656C6C6F20776F726C64212C68656C6C6F20636C69636B686F757365 hex('hello world!,hello clickhouse') AS hexStr, hex(now()) AS hexDatetime, -- 5D414BA2 hex(toDate(now())) AS hexDate; --46BC
-- 2.接受包含36个字符的字符串,格式为“123e4567-e89b-12d3-a456-426655440000”,并将其转化为FixedString(16)返回
SELECT UUIDStringToNum('123e4567-e89b-12d3-a456-426655440000');
-- 3. 接受一个整数。返回一个UInt64类型数组,其中包含一组2的幂列表,其列表中的所有值相加等于这个整数。数组中的数字按升序排列。
-- bitmaskToArray(num) SELECT bitmaskToArray(10); -- [2,8] SELECT bitmaskToArray(100); -- [4,32,64]
-- 4.接受一个整数。返回一个字符串,其中包含一组2的幂列表,其列表中的所有值相加等于这个整数。列表使用逗号分割,按升序排列。
-- bitmaskToList(num) SELECT bitmaskToList(10); -- 2,8 SELECT bitmaskToList(100); -- 4,32,64 SELECT bitmaskToList(0); -- '' 空字符串