BIT_ AND fonction - 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.

BIT_ AND fonction

La AND fonction BIT _ exécute des AND opérations bit par bit sur toutes les valeurs d'une seule colonne ou expression entière. Ces fonctions regroupent chaque bit de chaque valeur binaire correspondant à chaque valeur de nombre entier de l’expression.

La AND fonction BIT _ renvoie un résultat 0 si aucun des bits n'est défini sur 1 pour toutes les valeurs. Si un ou plusieurs bits est défini sur 1 dans toutes les valeurs, la fonction renvoie une valeur de nombre entier. Ce nombre entier est le chiffre qui correspond à la valeur binaire de ces bits.

Par exemple, une 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

Une AND opération BIT _ sur cet ensemble de données détecte que tous les bits sont définis sur la second-to-last position uniquement. 1 Le résultat est une valeur binaire de 00000010, qui représente la valeur d’entier 2. Par conséquent, la AND fonction BIT _ revient2.

Syntaxe

BIT_AND ( [DISTINCT | ALL] expression )

Arguments

expression

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

DISTINCT | ALL

Avec l'argumentDISTINCT, la fonction élimine toutes les valeurs dupliquées pour l'expression spécifiée avant de calculer le résultat. Avec l'argumentALL, la fonction conserve toutes les valeurs dupliquées. ALLest la valeur par défaut. Pour de plus amples informations, veuillez consulter DISTINCTprise en charge des agrégations au niveau du bit.

Exemples

Étant donné que des informations importantes sur l’entreprise sont stockées dans les colonnes de nombres entiers, vous pouvez utiliser des fonctions bit par bit pour extraire et regrouper ces informations. La requête suivante applique la AND fonction BIT _ à la LIKES colonne d'une table appelée USERLIKES et regroupe les résultats par CITY colonne.

select city, bit_and(likes) from userlikes group by city order by city; city | bit_and --------------+--------- Los Angeles | 0 Sacramento | 0 San Francisco | 0 San Jose | 64 Santa Barbara | 192 (5 rows)

Vous pouvez interpréter ces résultats comme suit :

  • La valeur de nombre entier 192 de Santa Barbara se traduit par la valeur binaire 11000000. Autrement dit, tous les utilisateurs de cette ville aiment le sport et le théâtre, mais tous les utilisateurs n’aiment pas un tout autre type d’événement.

  • Le nombre entier 64 se traduit par 01000000. Ainsi, pour les utilisateurs de San Jose, le seul type d’événement qu’ils aiment tous est le théâtre.

  • Les valeurs de 0 des trois autres villes indiquent qu’aucun « J’aime » n’est partagé par tous les utilisateurs de ces villes.