Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Fungsi FNV_HASH - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Fungsi FNV_HASH

Menghitung fungsi hash non-kriptografi FNV-1a 64-bit untuk semua tipe data dasar.

Sintaks

FNV_HASH(value [, seed])

Argumen

nilai

Nilai input yang akan di-hash. Amazon Redshift menggunakan representasi biner dari nilai untuk hash nilai input; misalnya, nilai INTEGER di-hash menggunakan 4 byte dan nilai BIGINT di-hash menggunakan 8 byte. Selain itu, hashing input CHAR dan VARCHAR tidak mengabaikan spasi tambahan.

benih

Bigint seed dari fungsi hash adalah opsional. Jika tidak diberikan, Amazon Redshift menggunakan seed FNV default. Ini memungkinkan menggabungkan hash dari beberapa kolom tanpa konversi atau penggabungan apa pun.

Jenis pengembalian

BIGINT

Contoh

Contoh berikut mengembalikan hash FNV dari angka, string 'Amazon Redshift', dan rangkaian keduanya.

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)

Catatan penggunaan

  • Untuk menghitung hash tabel dengan beberapa kolom, Anda dapat menghitung hash FNV dari kolom pertama dan meneruskannya sebagai benih ke hash kolom kedua. Kemudian, ia melewati hash FNV dari kolom kedua sebagai benih ke hash kolom ketiga.

    Contoh berikut menciptakan benih untuk hash tabel dengan beberapa kolom.

    select fnv_hash(column_3, fnv_hash(column_2, fnv_hash(column_1))) from sample_table;
  • Properti yang sama dapat digunakan untuk menghitung hash dari rangkaian string.

    select fnv_hash('abcd'); fnv_hash --------------------- -281581062704388899 (1 row)
    select fnv_hash('cd', fnv_hash('ab')); fnv_hash --------------------- -281581062704388899 (1 row)
  • Fungsi hash menggunakan jenis input untuk menentukan jumlah byte untuk hash. Gunakan casting untuk menegakkan jenis tertentu, jika perlu.

    Contoh berikut menggunakan berbagai jenis input untuk menghasilkan hasil yang berbeda.

    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)

Topik berikutnya:

MD5

Topik sebelumnya:

FUNC_ SHA1
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.