Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
✅ Azure Stream Analytics ✅ Fabric Eventstream
Effectue une opération AND logique au niveau du bit entre deux valeurs entières, en évaluant chaque bit correspondant des deux expressions.
Syntaxe
expression & expression
Les arguments
expression
Expression valide des types de données bit ou bigint. L’expression est traitée comme un nombre binaire pour l’opération au niveau du bit.
Types de retour
bit si les deux valeurs d’entrée sont bit.
bigint si une ou les deux valeurs d’entrée sont bigintes.
Remarques
L’opérateur au niveau du bit effectue une opération AND logique au niveau du bit entre les deux expressions, en prenant chaque bit correspondant pour les deux expressions. Les bits du résultat sont définis sur 1 si et uniquement si les deux bits (pour le bit actuel résolu) dans les expressions d’entrée ont la valeur 1 ; sinon, le bit dans le résultat est défini sur 0.
Pour illustration, la représentation binaire de 170 est 0000 000 1010 1010. La représentation binaire de 75 est 0000 0000 0100 1011. L’exécution de l’opération AND au niveau du bit sur ces deux valeurs produit le résultat binaire 0000 000 000 1010, qui est décimal 10.
(170 & 75)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 0000 1010
Il est à noter que la conversion d’une valeur FLOAT en BIGINT et l’application d’un opérateur au niveau du bit sur celui-ci ne retourne pas le même résultat que le cast vers BIT et l’application de la même opérateur :
- Première option : 170 & 75,0 => 170 & 75 = 10
- Deuxième option : 170 & 75,0 => 170 & 1 = 0
Consultez la vue d’ensemble des types de données pour connaître les règles de conversion en bits.
Exemples
Avec un jeu de données d’entrée commun :
WITH MyCTE AS (
SELECT
CAST(0 AS BIT) AS bit0,
CAST(1 AS BIT) AS bit1,
CAST(NULL AS BIT) AS bitN,
CAST(0 AS BIGINT) AS bigint0,
CAST(1 AS BIGINT) AS bigint1,
CAST(NULL AS BIGINT) AS bigintN
FROM input
)
Application de l’opérateur sur les expressions de bits :
SELECT
bit0,
bit1,
bitN,
bit0 & bit0 AS AND00,
bit0 & bit1 AS AND01,
bit1 & bit0 AS AND10,
bit1 & bit1 AS AND11,
bitN & bit0 AS ANDnull
INTO bitAND
FROM MyCTE
Retours :
| bit0 | bit1 | bitN | AND00 | AND01 | AND10 | AND11 | ANDnull |
|---|---|---|---|---|---|---|---|
| faux | vrai | ZÉRO | faux | faux | faux | vrai | ZÉRO |
Application de l’opérateur sur les expressions bigint :
SELECT
bigint0,
bigint1,
bigintN,
bigint0 & bigint0 AS AND00,
bigint0 & bigint1 AS AND01,
bigint1 & bigint0 AS AND10,
bigint1 & bigint1 AS AND11,
bigintN & bigint1 AS ANDnull,
170 & 75 AS ANDvalues
INTO bigintAND
FROM MyCTE
Retours :
| bigint0 | bigint1 | bigintN | AND00 | AND01 | AND10 | AND11 | ANDnull | ANDvalues |
|---|---|---|---|---|---|---|---|---|
| 0 | 1 | ZÉRO | 0 | 0 | 0 | 1 | ZÉRO | 10 |
Validation des types de sortie :
SELECT
GetType(bit0 & bit0) AS ANDtype_bit,
GetType(bigint0 & bigint0) AS ANDtype_bigint,
GetType(bit0 & bigint0) AS ANDtype_mixed
INTO typesAND
FROM MyCTE
Retours :
| ANDtype_bit | ANDtype_bigint | ANDtype_mixed |
|---|---|---|
| mors | bigint | bigint |