HASH4 スカラー関数

HASH4 関数は、入力データの 32 ビットのチェックサム・ハッシュを戻します。この関数は、232 個の異なる戻り値を提供します。データ検索 (ルックアップ) で使用できます。

構文図を読む構文図をスキップするHASH4(string-expression ,algorithm )

スキーマは SYSIBM です。

string-expression
ハッシュするストリング値を表す式。この式は、組み込みの文字ストリング、グラフィック・ストリング、バイナリー・ストリング、数値、ブール値、または日時値を返す必要があります。 値が文字ストリング、GRAPHIC ストリング、バイナリー・ストリングでない場合は、関数の評価の前に VARCHAR に暗黙的にキャストされます。
algorithm
ハッシュに使用するアルゴリズムを指定する式。 この式は、数値、CHAR、または VARCHAR の組み込みデータ・タイプの値を戻す必要があります。Unicode データベースでは、 式は GRAPHIC または VARGRAPHIC のデータ・タイプにすることもできます。CHAR、VARCHAR、GRAPHIC、および VARGRAPHIC は、暗黙的キャストを介してサポートされます。 INTEGER でない式は、関数の評価の前に INTEGER にキャストされます。

アルゴリズムの値は、01 のいずれかです。0 は Adler アルゴリズムを示し、これがデフォルト値です。1 は CRC32 アルゴリズムを示します。 Adler アルゴリズムでは、チェックサム・ハッシュが高速になりますが、メッセージが数百バイトより小さい場合は、対象範囲が狭くなります (対象範囲が狭いというのは、2 つの別々の整数が同じハッシュ値になってしまうことがある、という意味です。そのような結果のことを「衝突」といいます)。その場合は、CRC32 アルゴリズムを使用するか、hash8 に切り替えてください。

結果

結果のデータ・タイプは INTEGER です。最初の引数が NULL になる可能性がある場合、結果も NULL になる可能性があります。 最初の引数が NULL の場合には、結果も NULL 値です。

以下の例では、テキスト・ストリングのハッシュ値を生成します。
values hash4('Charlie at IBM', 0)
The result is 622396582