BIT_XOR |
Ou exclusif binaire |
| BigQuery |
Syntaxe
|
BIT_XOR([DISTINCT] expression)
|
Paramètres
| Nom |
Description |
| expression |
Ce paramètre permet de spécifier l'expression numérique sur laquelle l'opération "OU exclusif binaire" doit être effectuée. Les types de données supportés sont INT64 et BIGINT. |
| DISTINCT |
Ce paramètre facultatif permet de garantir que l'opération "OU exclusif binaire" est effectuée uniquement sur les valeurs distinctes de l'expression. Les valeurs dupliquées ne seront pas incluses dans le calcul. |
Description
Cette fonction permet d'effectuer un «Ou exclusif binaire» sur l'expression spécifié.
Remarques
- Fonction d'agrégation binaire particulière : La fonction BIT_XOR applique une opération de OU exclusif binaire cumulatif sur une série de valeurs.
Le XOR binaire retourne 1 lorsqu'un bit est activé dans un nombre impair de valeurs, et 0 s'il l'est dans un nombre pair. Cela peut produire des résultats très différents
de BIT_AND ou BIT_OR.
- Comportement sensible à la parité des bits : Contrairement à BIT_OR, qui accumule les bits activés, BIT_XOR peut annuler des bits si ceux-ci apparaissent un
nombre pair de fois. Par exemple, si deux lignes contiennent la même valeur binaire, ces bits seront annulés dans le résultat, car 1 XOR 1 = 0.
- Utile pour détecter les anomalies ou doublons : Le comportement d'annulation du XOR rend cette fonction utile pour détecter les valeurs uniques ou les
différences. Si chaque valeur est présente deux fois sauf une, BIT_XOR retournera cette valeur unique. Cela peut servir à valider l'intégrité de données ou identifier des
anomalies.
- Support des entiers uniquement : Comme les autres fonctions bit à bit, BIT_XOR n'accepte que des types de données entiers (INT64, BIGINT). Il est donc
essentiel de convertir les données en entier si elles sont sous une autre forme, faute de quoi une erreur de type sera générée.
- Paramètre DISTINCT pour filtrer les doublons : Le mot clef facultatif DISTINCT permet de restreindre l'opération XOR aux seules valeurs distinctes de
l'expression. Cela empêche les doublons d'annuler les bits activés, ce qui peut être très utile pour conserver les valeurs significatives dans un ensemble.
- Combinable avec GROUP BY pour des analyses par groupe : La fonction peut être utilisée avec GROUP BY pour obtenir un résultat XOR propre à chaque
sous-ensemble. Cela est utile dans des contextes comme la comparaison de configurations, le suivi de changements entre versions ou l'identification de bits variables
dans un groupe.
- Résultat binaire à interpréter avec prudence : Le résultat de BIT_XOR doit souvent être interprété en base binaire pour comprendre quelles positions de
bits ont survécu à l'annulation. Par exemple, un résultat de 6 signifie que seuls les bits 2 et 1 sont à 1 (binaire 110), et que les autres ont été annulés.
- Comportement indéterminé si toutes les valeurs sont NULL : Si toutes les valeurs de l'expression sont NULL, alors le résultat de BIT_XOR sera aussi
NULL. En revanche, les NULL sont ignorés lorsqu'ils coexistent avec d'autres valeurs. Il est donc important de gérer les données manquantes avec des fonctions
comme IFNULL.
Dernière mise à jour : Jeudi, le 18 Juin 2020