dbms_crypto.hashをBQで書いてみる


広告は適当。っていうかこれなんだろう?

はい、oracleをBQに移植してるのですが、hashしてる部分がありました。

  ,  substr(lower(rawtohex(dbms_crypto.hash(to_clob('xxxxxdataxxxx'),2))),0,16) as hash_id

これをBQ化したいので分解。まず、dbms_crypto.hashを引数2でやってる部分があったのですが、これはMD5でした。そしてhashしたものを16進数表現にしたテキストにしてる。

と言うことで、BQでの書き方
substr(TO_HEX(MD5('xxxxxdataxxxx'),0,16) 

めちゃシンプルになった