Bigquery中的SHA_256哈希

时间:2019-03-19 09:12:07

标签: google-bigquery sha256

我正在尝试在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.

我找不到在多列上进行哈希处理的任何示例。列的数据类型也不同。

我们非常感谢您的帮助。

2 个答案:

答案 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