HASH4 スカラー関数

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

Read syntax diagramSkip visual syntax diagramHASH4(string-expression ,algorithm )

スキーマは SYSIBM です。

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

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

結果

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

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