Hash 如何将ABS(哈希(…)从传统sql转换为标准sql

Hash 如何将ABS(哈希(…)从传统sql转换为标准sql,hash,google-bigquery,bigquery-standard-sql,legacy-sql,Hash,Google Bigquery,Bigquery Standard Sql,Legacy Sql,在遗留sql中,我们可以执行选择ABS(散列('12345'))来获取值的唯一散列号 我正在将遗留sql转换为GBQ中的标准sql, 所以想知道转换上述函数的最佳方法是什么,这样它就可以为我提供与遗留sql相同的值 我们不会公开返回与遗留SQL中相同值的函数;它使用未记录的实现。使用标准SQL时最接近的等效项是,它使用 对于您提供的表达式,您将使用ABS(FARM\u FINGERPRINT('12345'))ah,理想情况下,当您希望用户从传统迁移到标准时,应该有类似的功能。如果在标准sql中

在遗留sql中,我们可以执行
选择ABS(散列('12345'))
来获取值的唯一散列号

我正在将遗留sql转换为GBQ中的标准sql,
所以想知道转换上述函数的最佳方法是什么,这样它就可以为我提供与遗留sql相同的值

我们不会公开返回与遗留SQL中相同值的函数;它使用未记录的实现。使用标准SQL时最接近的等效项是,它使用


对于您提供的表达式,您将使用
ABS(FARM\u FINGERPRINT('12345'))

ah,理想情况下,当您希望用户从传统迁移到标准时,应该有类似的功能。如果在标准sql中没有类似的实现,我将不得不保留一些遗留sql中的查询以及标准sql中的任何新查询。我希望谷歌不会在短期内反对对遗留sql的支持。只是为了澄清一下,这些散列ID在使用中是永久性的,客户端已经在使用它了,所以现在不能更改,这就是我无法使用不同散列算法将查询切换到标准sql的原因是,这是不幸的。如果旧式SQL也可以使用
FARM\u FINGERPRINT
,那么是否可以进行迁移?是的,如果谷歌在这两种类型的SQL中提供相同的哈希函数,那么这将非常有助于许多用户轻松迁移。我代表您提交了文件。您可以启动它来表达兴趣并获取更新。谢谢