erb*_*ert 3 hash varbinary presto trino
我有一个很长的字符串,我想将它半唯一地表示为一个 bigint。理想情况下,我只取散列,但presto 散列函数似乎想要返回“varbinary”,而且我找不到将 varbinary 转换为 bigint 的函数。
如果我写:
cast(xxhash64(cast('asdf' as varbinary)) as bigint)
我收到一条错误消息,说我无法将 varbinary 转换为 bigint。
您可以使用from_big_endian_64将 64 位二进制值转换为bigint:
presto> SELECT from_big_endian_64(xxhash64(CAST('asdf' AS varbinary)));
_col0
---------------------
4708639809588864798
(1 row)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1690 次 |
| 最近记录: |