跳到主要内容

XXHASH_32

描述

计算输入字符串或二进制的 32 位 xxhash 值

-注:在计算 hash 值时,更推荐使用xxhash_32,而不是murmur_hash3_32

语法

XXHASH_32( <input> [ , <input> ... ] )

参数

参数说明
<input>需要被计算 32 位 xxhash 的值, 接受字符串和二进制类型

返回值

返回输入字符串的 32 位 xxhash 值。

举例

select xxhash_32(NULL), xxhash_32("hello"), xxhash_32("hello", "world");
+-----------------+--------------------+-----------------------------+
| xxhash_32(NULL) | xxhash_32('hello') | xxhash_32('hello', 'world') |
+-----------------+--------------------+-----------------------------+
| NULL | -83855367 | -920844969 |
+-----------------+--------------------+-----------------------------+
-- vb (VarBinary) 和 vc (VarChar) 插入时使用了相同的字符串.
SELECT * FROM mysql_catalog.binary_test.binary_test;
+------+------------+------+
| id | vb | vc |
+------+------------+------+
| 1 | 0x616263 | abc |
| 2 | 0x78797A | xyz |
| 3 | NULL | NULL |
+------+------------+------+
SELECT XXHASH_32(vb), XXHASH_32(vc) FROM mysql_catalog.binary_test.binary_test;
+---------------+---------------+
| XXHASH_32(vb) | XXHASH_32(vc) |
+---------------+---------------+
| 852579327 | 852579327 |
| -242012205 | -242012205 |
| NULL | NULL |
+---------------+---------------+