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 binaire11000000
. 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 par01000000
. 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.