二进制函数和运算符¶
二进制运算符¶
The ||
运算符执行连接。
二进制函数¶
- length(binary) -> bigint()
返回
binary
的字节长度。
- concat(binary1, ..., binaryN) -> varbinary()
返回
binary1
、binary2
、...
、binaryN
的连接。此函数提供与 SQL 标准连接运算符 (||
) 相同的功能。
- substr(binary, start) -> varbinary()
从
binary
的起始位置start
返回剩余部分,以字节为单位。位置从1
开始。负起始位置被解释为相对于字符串的末尾。
- substr(binary, start, length) -> varbinary()
从
binary
返回一个长度为length
的子字符串,从起始位置start
开始,以字节为单位。位置从1
开始。负起始位置被解释为相对于字符串的末尾。
- to_base64(binary) -> varchar()¶
将
binary
编码为 base64 字符串表示形式。
- from_base64(string) -> varbinary()¶
从 base64 编码的
string
解码二进制数据。
- to_base64url(binary) -> varchar()¶
使用 URL 安全字母表将
binary
编码为 base64 字符串表示形式。
- from_base64url(string) -> varbinary()¶
从 base64 编码的
string
解码二进制数据,使用 URL 安全字母表。
- from_base32(string) -> varbinary()¶
从 base32 编码的
string
解码二进制数据。
- to_base32(binary) -> varchar()¶
将
binary
编码为 base32 字符串表示形式。
- to_hex(binary) -> varchar()¶
将
binary
编码为十六进制字符串表示形式。
- from_hex(string) -> varbinary()¶
从十六进制编码的
string
解码二进制数据。
- to_big_endian_64(bigint) -> varbinary()¶
以 64 位 2 的补码大端格式编码
bigint
。
- from_big_endian_64(binary) -> bigint()¶
从 64 位 2 的补码大端
binary
解码bigint
值。
- to_big_endian_32(integer) -> varbinary()¶
以 32 位 2 的补码大端格式编码
integer
。
- from_big_endian_32(binary) -> integer()¶
从 32 位 2 的补码大端
binary
中解码integer
值。
- to_ieee754_32(real) -> varbinary()¶
根据 IEEE 754 单精度浮点格式,将
real
编码为 32 位大端二进制。
- from_ieee754_32(binary) -> real()¶
解码 IEEE 754 单精度浮点格式的 32 位大端
binary
。
- to_ieee754_64(double) -> varbinary()¶
根据 IEEE 754 双精度浮点格式,将
double
编码为 64 位大端二进制。
- from_ieee754_64(binary) -> double()¶
解码 IEEE 754 双精度浮点格式的 64 位大端
binary
。
- lpad(binary, size, padbinary) -> varbinary()
使用
padbinary
将binary
左填充至size
字节。如果size
小于binary
的长度,则结果将被截断为size
个字符。size
必须是非负数,padbinary
必须是非空的。
- rpad(binary, size, padbinary) -> varbinary()
使用
padbinary
将binary
右填充至size
字节。如果size
小于binary
的长度,则结果将被截断为size
个字符。size
必须是非负数,padbinary
必须是非空的。
- crc32(binary) -> bigint()¶
计算
binary
的 CRC-32。对于通用哈希,使用xxhash64()
,因为它更快并且生成更好的哈希质量。
- md5(binary) -> varbinary()¶
计算
binary
的 md5 哈希。
- murmur3_x64_128(binary) -> varbinary()¶
计算
binary
的哈希,等效于 C++ MurmurHash3_x64_128 (Murmur3F) 的相同binary
。
- sha1(binary) -> varbinary()¶
计算
binary
的 sha1 哈希。
- sha256(binary) -> varbinary()¶
计算
binary
的 sha256 哈希。
- sha512(binary) -> varbinary()¶
计算
binary
的 sha512 哈希。
- xxhash64(binary) -> varbinary()¶
计算
binary
的 xxhash64 哈希。
- spooky_hash_v2_32(binary) -> varbinary()¶
计算
binary
的 32 位 SpookyHashV2 哈希。
- spooky_hash_v2_64(binary) -> varbinary()¶
计算
binary
的 64 位 SpookyHashV2 哈希。
- hmac_md5(binary, key) -> varbinary()¶
使用给定的
key
计算binary
的 md5 HMAC。
- hmac_sha1(binary, key) -> varbinary()¶
使用给定的
key
计算binary
的 sha1 HMAC。
- hmac_sha256(binary, key) -> varbinary()¶
使用给定的
key
计算binary
的 sha256 HMAC。
- hmac_sha512(binary, key) -> varbinary()¶
使用给定的
key
计算binary
的 sha512 HMAC。
- reverse(binary) -> varbinary()
返回字节顺序反转的
binary
。