Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

FNV_HASH 関数

フォーカスモード
FNV_HASH 関数 - Amazon Redshift

すべての基本データ型について、64 ビット FNV-1a 非暗号化ハッシュ関数を計算します。

構文

FNV_HASH(value [, seed])

引数

value

ハッシュされる入力値。Amazon Redshift は、値のバイナリ表現を使用して入力値をハッシュします。例えば、INTEGER 値は 4 バイトを使用してハッシュされ、BIGINT 値は 8 バイトを使用してハッシュされます。また、CHAR および VARCHAR 入力をハッシュしても、末尾のスペースは無視されません。

seed

ハッシュ関数の BIGINT シードはオプションです。指定しない場合、Amazon Redshift はデフォルトの FNV シードを使用します。これにより、変換や連結を行わずに、複数の列のハッシュを組み合わせることができます。

戻り型

BIGINT

次の例では、数値の FNV ハッシュ、文字列「Amazon Redshift」、および 2 つの連結が返されます。

select fnv_hash(1); fnv_hash ---------------------- -5968735742475085980 (1 row)
select fnv_hash('Amazon Redshift'); fnv_hash --------------------- 7783490368944507294 (1 row)
select fnv_hash('Amazon Redshift', fnv_hash(1)); fnv_hash ---------------------- -2202602717770968555 (1 row)

使用に関する注意事項

  • 複数の列を持つテーブルのハッシュを計算するには、最初の列の FNV ハッシュを計算し、2 番目の列のハッシュにシードとして渡します。次に、2 番目の列の FNV ハッシュを、3 番目の列のハッシュにシードとして渡します。

    次の例では、複数の列を持つテーブルをハッシュするシードを作成します。

    select fnv_hash(column_3, fnv_hash(column_2, fnv_hash(column_1))) from sample_table;
  • 同じプロパティを使用して、文字列の連結のハッシュを計算することができます。

    select fnv_hash('abcd'); fnv_hash --------------------- -281581062704388899 (1 row)
    select fnv_hash('cd', fnv_hash('ab')); fnv_hash --------------------- -281581062704388899 (1 row)
  • ハッシュ関数は、入力のタイプを使用して、ハッシュするバイト数を決定します。必要に応じて、キャストを使用して特定の型を適用します。

    次の例では、異なるタイプの入力を使用して別の結果を生成します。

    select fnv_hash(1::smallint); fnv_hash -------------------- 589727492704079044 (1 row)
    select fnv_hash(1); fnv_hash ---------------------- -5968735742475085980 (1 row)
    select fnv_hash(1::bigint); fnv_hash ---------------------- -8517097267634966620 (1 row)

このページの内容

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.