bech32Decode
与编码函数不同,
bech32Decode 会自动处理带填充的 FixedStrings。address— 要解码的 Bech32 字符串。String或FixedStringmode— 可选。传入'raw'可在解码时不将第一个字节剥离为 witness 版本。对于非 SegWit 地址 (例如 Cosmos SDK) ,请使用此选项。String
(hrp, data) Tuple,表示编码该字符串时使用的值。data 采用二进制格式。Tuple(String, String)
示例
解码地址
Query
Response
Query
Response
bech32Encode
使用
FixedString 数据类型时,如果某个值未完全占满其长度,则会用空字符进行填充。
虽然 bech32Encode 函数会自动处理 hrp 参数的这种情况,但对于 data 参数,其值不得被填充。
因此,不建议将 FixedString 数据类型用于你的数据值,除非你能
确定它们的长度都相同,并确保你的 FixedString 列也设置为相同的长度。hrp— 由1 - 83个小写字符组成的 String,用于指定编码中的“可读部分”。通常为 ‘bc’ 或 ‘tb’。String或FixedStringdata— 要编码的二进制数据 String。String或FixedStringwitver_or_variant— 可选。可以是 UInt* 见证版本 (默认值为 1,Bech32 为0,Bech32m 为1+) ,也可以是 String 编码变体:'bech32'(BIP173) 或'bech32m'(BIP350) 。使用字符串变体时,不会预加见证版本字节——这对于 Cosmos SDK 等非 SegWit 地址是必需的。UInt*或String
String
示例
默认 Bech32m
Query
Response
Query
Response
Query
Response
Query
Response
bin
语法
String
示例
简单整数
Query
Response
Query
Response
Query
Response
Query
Response
bitPositionsToArray
arg— 一个整数值。(U)Int*
Array(UInt64)
示例
单个位被设置
Query
Response
Query
Response
bitmaskToArray
num— 整数值。(U)Int*
Array(UInt64)
示例
基本示例
Query
Response
Query
Response
bitmaskToList
num— 整数值。(U)Int*
String
示例
基本示例
Query
Response
char
UInt8 数据类型的取值范围,则会将其转换为
UInt8,此过程中可能发生舍入和溢出。
语法
num1[, num2[, num3 ...]]— 按整数解释的数值参数。(U)Int8/16/32/64或Float*
String
示例
基础示例
Query
Response
Query
Response
hex
该函数使用大写字母
A-F,且不使用任何前缀 (如 0x) 或后缀 (如 h) 。
语法
String
示例
简单整数
Query
Response
Query
Response
Query
Response
Query
Response
hilbertDecode
hilbertEncode 函数一样,此函数有两种操作模式:
- 简单模式
- 扩展模式
UInt64 编码。
扩展模式
接受一个范围掩码 (元组) 作为第一个参数,以及最多 2 个无符号整数作为
其他参数。掩码中的每个数都用于指定对应参数左移的位数,
从而在其取值范围内对该参数进行缩放。
当你希望取值范围 (或基数) 差异很大的
参数具有相近的分布时,范围扩展会很有帮助。例如:‘IP 地址’ (0...FFFFFFFF)
和 ‘国家代码’ (0...FF)。与编码函数一样,这最多仅限于 8 个
数值。
语法
tuple_size— 不超过2的整数值。UInt8/16/32/64或Tuple(UInt8/16/32/64)code—UInt64编码。UInt64
Tuple(UInt64)
示例
简单模式
Query
Response
Query
Response
Query
Response
Query
Response
hilbertEncode
- 简单
- 扩展
args— 最多两个UInt值,或UInt类型的列。UInt8/16/32/64range_mask— 在扩展模式下,最多两个UInt值,或UInt类型的列。UInt8/16/32/64
UInt64 编码值。UInt64
示例
简单模式
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
mortonDecode
mortonEncode 函数一样,此函数有两种操作模式:
- 简单模式
- 扩展模式
1- 不收缩2- 收缩 2 倍3- 收缩 3 倍 ⋮- 最多收缩 8 倍。
(0...FFFFFFFF)
和 ‘国家代码’ (0...FF)。与编码函数一样,这里最多也只支持
8 个数字。
语法
tuple_size— 不大于 8 的整数值。UInt8/16/32/64range_mask— 在扩展模式中,每个参数对应的掩码。该掩码是一个由无符号整数组成的 Tuple。掩码中的每个数值用于配置范围收缩量。Tuple(UInt8/16/32/64)code— UInt64 编码。UInt64
Tuple(UInt64)
示例
简单模式
Query
Response
Query
Response
Query
Response
Query
Response
mortonEncode
- 简单模式
- 扩展模式*
UInt64 编码。
扩展模式
接受一个范围掩码 (Tuple) 作为第一个参数,
并接受最多 8 个无符号整数作为其余参数。
掩码中的每个数字用于指定范围扩展倍数:
- 1 - 不扩展
- 2 - 扩展 2 倍
- 3 - 扩展 3 倍 ⋮
- 最多可扩展 8 倍。
args— 最多 8 个无符号整数,或上述类型的列。UInt8/16/32/64range_mask— 在扩展模式下,每个参数对应的掩码。该掩码是一个由1-8的无符号整数组成的 Tuple。掩码中的每个数字用于配置范围收缩量。Tuple(UInt8/16/32/64)
UInt64 编码。UInt64
示例
简单模式
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
sqidDecode
sqid— 要解码的 sqid。String
sqid 解码得到的数字数组。 Array(UInt64)
示例
使用示例
Query
Response
sqidEncode
sqid
参数
n1[, n2, ...]— 任意数量的数字。UInt8/16/32/64
String
示例
使用示例
Query
Response
unbin
bin 相反的操作。
对于数值参数,unbin() 返回的结果并不是 bin() 的逆运算结果。如果要将结果转换为数值,可以使用 reverse 和 reinterpretAs<Type> 函数。
如果在
clickhouse-client 中调用 unbin,二进制字符串会以 UTF-8 格式显示。0 和 1。二进制位数不必是 8 的倍数。如果参数字符串中包含二进制数字以外的任何内容,
则结果未定义 (不会抛出异常) 。
语法
arg— 包含任意个二进制数字的字符串。String
String
示例
基本用法
Query
Response
Query
Response
unhex
hex 相反的操作。它将参数中的每对十六进制数字解释为一个数值,并将其转换为该数值所表示的字节。返回值是二进制字符串 (BLOB) 。
如果要将结果转换为数值,可以使用 reverse 和 reinterpretAs<Type> 函数。
clickhouse-client 会将字符串解释为 UTF-8。
这可能会导致 hex 返回的值显示效果出乎意料。A-F。
十六进制数字的位数不必为偶数。
如果是奇数,最后一位会被解释为 00-0F 字节的低半字节。
如果参数字符串中包含十六进制数字之外的其他内容,则会返回某种由具体实现定义的结果 (不会抛出异常) 。
对于数值参数,unhex() 不会执行 hex(N) 的逆操作。
语法
arg— 包含任意个十六进制字符的字符串。String或FixedString
String
示例
基本用法
Query
Response
Query
Response