Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

FNV_HASH-Funktion

Fokusmodus
FNV_HASH-Funktion - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Berechnet die nicht-kryptographische 64-Bit-Hash-Funktion FNV-1a für alle grundlegenden Datentypen.

Syntax

FNV_HASH(value [, seed])

Argumente

Wert

Der Eingabewert, der gehasht werden soll. Amazon Redshift verwendet die binäre Darstellung des Wertes, um den Eingabewert zu hashen. Beispielsweise werden INTEGER-Werte mit 4 Bytes gehasht und BIGINT-Werte mit 8 Bytes. Außerdem werden beim Hashing von CHAR- und VARCHAR-Eingaben keine nachstehenden Leerzeichen ignoriert.

Seed

Der BIGINT-Seed der Hash-Funktion ist optional. Wenn er nicht angegeben wird, verwendet Amazon Redshift den Standard-FNV-Seed. Dies ermöglicht eine Kombination des Hashs mehrerer Spalten ohne Konvertierungen oder Verkettungen.

Rückgabetyp

BIGINT

Beispiel

Die folgenden Beispiele geben den FNV-Hash einer Zahl, der Zeichenfolge „Amazon Redshift“ und die Verkettung beider zurück.

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)

Nutzungshinweise

  • Um den Hash einer Tabelle mit mehreren Spalten zu berechnen, können Sie den FNV-Hash der ersten Spalte berechnen und ihn als Seed an den Hash der zweiten Spalte übergeben. Dann wird der FNV-Hash der zweiten Spalte als Seed an den Hash der dritten Spalte übergeben.

    Im folgenden Beispiel werden Seeds erstellt, um eine Tabelle mit mehreren Spalten zu hashen.

    select fnv_hash(column_3, fnv_hash(column_2, fnv_hash(column_1))) from sample_table;
  • Mit derselben Eigenschaft kann der Hash einer Verkettung von Zeichenfolgen berechnet werden.

    select fnv_hash('abcd'); fnv_hash --------------------- -281581062704388899 (1 row)
    select fnv_hash('cd', fnv_hash('ab')); fnv_hash --------------------- -281581062704388899 (1 row)
  • Die Hash-Funktion verwendet den Typ der Eingabe, um die Anzahl der zu hashenden Bytes zu bestimmen. Verwenden Sie Übertragen, um einen bestimmten Typ zu erzwingen, falls erforderlich.

    In den folgenden Beispielen werden verschiedene Eingabetypen verwendet, um unterschiedliche Ergebnisse zu erzielen.

    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)

Auf dieser Seite

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.