Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Fonction FNV_HASH

Mode de mise au point
Fonction FNV_HASH - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Calcule la fonction de hachage non cryptographique FNV-1a 64 bits pour tous les types de données de base.

Syntaxe

FNV_HASH(value [, seed])

Arguments

valeur

Valeur d’entrée à hacher. Amazon Redshift utilise la représentation binaire de la valeur pour hacher la valeur d’entrée ; par exemple, les valeurs INTEGER sont hachées en utilisant 4 octets et les valeurs BIGINT sont hachées en utilisant 8 octets. En outre, le hachage des entrées CHAR et VARCHAR n’ignore pas les espaces de fin.

Seed (Noyau)

La graine BIGINT de la fonction de hachage est facultative. Si ce n’est pas indiqué, Amazon Redshift utilise le noyau FNV par défaut. Cela permet de combiner le hachage de plusieurs colonnes sans conversions ni concaténations.

Type de retour

BIGINT

exemple

Les exemples suivants renvoient le hachage FNV d’un nombre, la chaîne Amazon Redshift et la concaténation des deux.

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)

Notes d’utilisation

  • Pour calculer le hachage d’une table avec plusieurs colonnes, vous pouvez calculer le hachage FNV de la première colonne et le transmettre en tant que noyau au hachage de la deuxième colonne. Ensuite, il passe le hachage FNV de la deuxième colonne en tant que noyau au hachage de la troisième colonne.

    L’exemple suivant crée des noyaux pour hacher une table comportant plusieurs colonnes.

    select fnv_hash(column_3, fnv_hash(column_2, fnv_hash(column_1))) from sample_table;
  • La même propriété peut être utilisée pour calculer le hachage d’une concaténation de chaînes.

    select fnv_hash('abcd'); fnv_hash --------------------- -281581062704388899 (1 row)
    select fnv_hash('cd', fnv_hash('ab')); fnv_hash --------------------- -281581062704388899 (1 row)
  • La fonction de hachage utilise le type de l’entrée pour déterminer le nombre d’octets à hacher. Utilisez la conversion de types pour appliquer un type spécifique, si nécessaire.

    Les exemples suivants utilisent différents types d’entrée pour produire des résultats différents.

    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)

Rubrique suivante :

MD5

Rubrique précédente :

FUNC_ SHA1

Sur cette page

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.