Fonction BIT_OR - 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.

Fonction BIT_OR

La fonction BIT_OR exécute des opérations OR bit par bit sur toutes les valeurs d’une seule colonne ou expression d’entiers. Ces fonctions regroupent chaque bit de chaque valeur binaire correspondant à chaque valeur de nombre entier de l’expression.

Par exemple, supposons que votre table contient quatre valeurs de nombre entier dans une colonne : 3, 7, 10 et 22. Ces nombres entiers sont représentés sous la forme binaire suivante.

Entier Valeur binaire
3 11
7 111
10 1010
22 10110

Si vous appliquez la fonction BIT_OR au même ensemble de valeurs entières, l’opération recherche toutes les valeurs contenant 1 à chaque position. Dans ce cas, il existe une valeur de 1 aux cinq dernières positions d’au moins une des valeurs, ce qui donne entraîne un résultat binaire de 00011111. Par conséquent, la fonction renvoie 31 (ou 16 + 8 + 4 + 2 + 1).

Syntaxe

BIT_OR ( [DISTINCT | ALL] expression )

Arguments

expression

Colonne cible ou expression sur laquelle la fonction opère. Cette expression doit comporter un type de données INT, INT2 ou INT8. La fonction renvoie un type de données INT, INT2 ou INT8 équivalent.

DISTINCT | ALL

Avec l’argument DISTINCT, la fonction supprime toutes les valeurs en double de l’expression spécifiée avant de calculer le résultat. Avec l’argument ALL, la fonction conserve toutes les valeurs en double. La valeur par défaut est ALL. Pour plus d'informations, consultez Prise en charge de la fonction DISTINCT pour les agrégations bit par bit.

Exemple

La requête suivante applique la fonction BIT_AND à la colonne LIKES dans une table appelée USERLIKES et regroupe les résultats en fonction de la colonne CITY.

select city, bit_or(likes) from userlikes group by city order by city; city | bit_or --------------+-------- Los Angeles | 127 Sacramento | 255 San Francisco | 255 San Jose | 255 Santa Barbara | 255 (5 rows)

Pour quatre des villes répertoriées, tous les types d’événements sont appréciés par au moins un utilisateur (255=11111111). Pour Los Angeles, tous les types d’événements, sauf le sport sont appréciés par au moins un utilisateur (127=01111111).