我正在尝试在bigquery中找到哈希的SQL等效项。
SQL:
SELECT CAST(HASHBYTES('SHA2_256', CONCAT(
COL1, COL2, COL3
)) AS BINARY(32)) AS HashValue
大查询:
SELECT SHA2_256(CONCAT(COL1, '', COL2 )) AS HashValue.
我找不到在多列上进行哈希处理的任何示例。列的数据类型也不同。
我们非常感谢您的帮助。
答案 0 :(得分:1)
使用标准SQL(SHA256 function),您可以将所有字段都强制转换为字符串,将它们连接起来并使用哈希。像这样:
SELECT SHA256(
CONCAT(
CAST(integer_field1 as STRING),
CAST(integer_field2 as STRING),
CAST(timestamp_field as STRING)
)
) as sha256_hash FROM `table`
答案 1 :(得分:1)
您可以看到遵循此change request
现在已实现。再次感谢您分享有关需要这些?>功能的反馈。请参阅:
TO_HEX:https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#to_hex
FROM_HEX:https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#from_hex
我为您找到的2个相关问题是:
Is it possible to hash using MD5 in BigQuery?
Random Sampling in Google BigQuery