BIT_AND |
Et binaire |
| BigQuery |
Syntaxe
Paramètres
| Nom |
Description |
| expression |
Ce paramètre permet de spécifier l'expression numérique sur laquelle l'opération "ET binaire" doit être effectuée. Les types de données supportés sont INT64 et BIGINT. |
Description
Cette fonction permet d'effectuer un «Et binaire» sur l'expression spécifié.
Remarques
- Fonction d'agrégation spécialisée dans le traitement binaire : La fonction BIT_AND permet de réaliser un "ET" binaire cumulatif sur une colonne ou
expression numérique. Elle examine chaque bit de toutes les valeurs de la colonne et ne garde que ceux qui sont à 1 dans toutes les lignes concernées. Cela la distingue
des fonctions statistiques classiques.
- Résultat influencé par les valeurs nulles : Par défaut, si l'expression contient une valeur NULL, alors le résultat de BIT_AND sera également NULL, à
moins que l'on utilise des clauses comme IFNULL ou COALESCE pour les traiter. Il est donc important de s'assurer que les valeurs sont bien définies avant d'utiliser
cette fonction.
- Utilisation avec les types entiers uniquement : BIT_AND est limitée aux types entiers (INT64, BIGINT). Si vous appliquez cette fonction à une expression de
type non-entier, comme FLOAT64 ou STRING, BigQuery retournera une erreur de type. Il peut donc être nécessaire de convertir explicitement les données au bon format.
- Effet cumulatif logique sur les bits : Le fonctionnement de BIT_AND est similaire à une intersection logique de bits. Si une seule des valeurs a un bit
donné à 0, ce bit sera également à 0 dans le résultat. Cette logique est utile pour vérifier les valeurs communes dans des drapeaux binaires ou des permissions codées en
bits.
- Résultat souvent égal à zéro en présence de bits incohérents : Lorsque les valeurs de l'expression ont des combinaisons de bits trop divergentes, il
est fréquent que le résultat final de BIT_AND soit 0. Cela s'explique par le fait qu'aucun bit n'est commun à toutes les lignes. C'est un comportement à anticiper
dans l'interprétation.
- Utilisable avec GROUP BY pour des regroupements conditionnels : La fonction peut être combinée avec un GROUP BY pour obtenir un BIT_AND spécifique à
chaque groupe. Cela est utile pour des analyses bit à bit dans des sous-ensembles de données, comme vérifier quelles options sont activées dans tous les cas d'un même
groupe.
- Complémentaire avec BIT_OR et BIT_XOR : Dans BigQuery, BIT_AND fait partie d'un trio de fonctions avec BIT_OR et BIT_XOR permettant des agrégations
logiques bit à bit. Ces fonctions sont souvent utilisées ensemble pour analyser ou combiner des ensembles de drapeaux entreposés dans des champs binaires.
- Applications dans la gestion de permissions ou d'options codées : Cette fonction est particulièrement utile dans des cas où les options, droits ou états
sont encodés sous forme de bits. Par exemple, si chaque bit représente une autorisation, BIT_AND permet de savoir quelles permissions sont communes à tous les
utilisateurs d'un groupe.
Dernière mise à jour : Jeudi, le 18 Juin 2020