二进制函数

最近更新时间:2024-08-23 15:17:31

我的收藏

CRC32

函数语法:
CRC32(<expr> string|binary)
支持引擎:SPARKSQL, PRESTO
使用说明:使用CRC32算法计算表达式的循环冗余校验值。
返回类型:bigint
示例:
> select crc32('tencent');
820633257

MD5

函数语法:
MD5(<expr string|binary)
支持引擎:SPARKSQL, PRESTO。
使用说明:以十六进制字符串形式返回MD5 128位校验和。
返回类型:string
示例:
> select md5('tencent');
3da576879001c77b442b9f8ef95c09d6

HASH

函数语法:
HASH(&lt;expr1&gt; any[, &lt;expr2&gt; any, ...])
支持引擎:SPARKSQL, PRESTO。
使用说明:返回所有参数的哈希值。SPARKSQLPRESTO计算方式不一致,可能会得到不同的结果。
返回类型:integer
示例:
> SELECT hash('tencent', array(123), 2);
-412995102

XXHASH64

函数语法:
XXHASH64(&lt;expr1&gt; any[, &lt;expr2&gt; any, ...])
支持引擎:SPARKSQL, PRESTO。
使用说明:返回参数的64位哈希值。SPARKSQLPRESTO计算方式不一致,可能会得到不同的结果。
返回类型:bigint
示例:
> SELECT xxhash64('tencent', array(123), 2);
-1900074178543885261

SHA

函数语法:
SHA(<expr> string|binary)
支持引擎:SPARKSQL, PRESTO。
使用说明:以十六进制字符串形式返回expr的sha1哈希值。
返回类型:string
示例:
> select sha('tencent');
f94b2c96e2f127726ef4bcec6bc779f0f2e7888f

SHA1

函数语法:
SHA1(<expr> string|binary)
支持引擎:SPARKSQL, PRESTO。
使用说明:以十六进制字符串形式返回expr的sha1哈希值。
返回类型:string
示例:
> select sha1('tencent');
f94b2c96e2f127726ef4bcec6bc779f0f2e7888f

SHA2

函数语法:
SHA2(expr string|binary, bitLength int)
支持引擎:SPARKSQL, PRESTO。
使用说明:以十六进制字符串形式返回expr的SHA-2族的校验和。支持SHA-224、SHA-256、SHA-384和SHA-512。位长度0等于256。
返回类型:string
示例:
> select sha2('tencent', 256);
9c8ae69b84f21a2e46df9edf0063a697afec050188ff2884ddc8ab32b5e58c43

AES_ENCRYPT

函数语法:
AES_ENCRYPT(<expr> string|binary, <key> string|binary)
支持引擎: PRESTO。
使用说明:使用AES算法加密expr
返回类型:binary
示例:
> SELECT hex(aes_encrypt('tencent', '0000111122223333'));
B99B99CE3359A736DBB9811ED8815C01

AES_DECRYPT

函数语法:
AES_DECRYPT(<expr> string|binary, <key> string|binary)
支持引擎:PRESTO
使用说明:使用AES算法解密expr
返回类型:binary
示例:
> SELECT aes_decrypt(unhex('B99B99CE3359A736DBB9811ED8815C01'), '0000111122223333');
tencent