FARM_FINGERPRINT
FARM_FINGERPRINT(value)
説明
オープンソースの FarmHash ライブラリの Fingerprint64
関数を使用して、STRING
または BYTES
入力のフィンガープリントを計算します。特定の入力に対して、この関数の出力が変わることはありません。
戻り値の型
INT64
例
WITH example AS (
SELECT 1 AS x, "foo" AS y, true AS z UNION ALL
SELECT 2 AS x, "apple" AS y, false AS z UNION ALL
SELECT 3 AS x, "" AS y, true AS z
)
SELECT
*,
FARM_FINGERPRINT(CONCAT(CAST(x AS STRING), y, CAST(z AS STRING)))
AS row_fingerprint
FROM example;
+---+-------+-------+----------------------+
| x | y | z | row_fingerprint |
+---+-------+-------+----------------------+
| 1 | foo | true | -1541654101129638711 |
| 2 | apple | false | 2794438866806483259 |
| 3 | | true | -4880158226897771312 |
+---+-------+-------+----------------------+
SHA1
SHA1(input)
説明
SHA-1 アルゴリズムを使用して入力のハッシュを計算します。入力は STRING
または BYTES
のいずれかです。文字列の場合、入力はバイトの配列として扱われます。
この関数は 20 バイトを返します。
戻り値の型
BYTES
例
SELECT SHA1("Hello World") as sha1;
-- Note that the result of SHA1 is of type BYTES, displayed as a base64-encoded string.
+------------------------------+
| sha1 |
+------------------------------+
| Ck1VqNd45QIvq3AZd8XYQLvEhtA= |
+------------------------------+
SHA256
SHA256(input)
説明
SHA-256 アルゴリズムを使用して、入力のハッシュを計算します。入力は STRING
または BYTES
のいずれかです。文字列の場合、入力はバイトの配列として扱われます。
この関数は 32 バイトを返します。
戻り値の型
BYTES
例
SELECT SHA256("Hello World") as sha256;
SHA512
SHA512(input)
説明
SHA-512 アルゴリズムを使用して、入力のハッシュを計算します。入力は STRING
または BYTES
のいずれかです。文字列の場合、入力はバイトの配列として扱われます。
この関数は 64 バイトを返します。
戻り値の型
BYTES
例
SELECT SHA512("Hello World") as sha512;