- Catégories :
BITAND¶
Renvoie AND au niveau du bit pour deux expressions numériques.
- Alias :
BIT_AND
- Voir aussi :
Syntaxe¶
BITAND( <expr1> , <expr2> )
Arguments¶
expr1
Cette expression doit correspondre à un type de données pouvant être converti en
INTEGER
.expr2
Cette expression doit correspondre à un type de données pouvant être converti en
INTEGER
.
Renvoie¶
Renvoie un entier qui représente le bitwise AND des expressions d’entrée.
Notes sur l’utilisation¶
Si le type de données de l’un ou l’autre argument est numérique mais pas
INTEGER
(par exemple, FLOAT, DECIMAL, etc.), l’argument sera alors converti enINTEGER
.Si le type de données de l’un des arguments est une chaîne (par exemple,
VARCHAR
), l’argument sera converti enINTEGER
si possible. Par exemple, la chaîne « 12,3 » sera convertie en 12. Si la valeur ne peut pas être convertie enINTEGER
, elle sera traitée comme NULL.Si l’une des valeurs est NULL, le résultat est NULL.
Exemples¶
Cet exemple montre comment utiliser BITAND()
, BITOR()
et BITXOR()
:
Créez une table et des données simples :
CREATE TABLE bits (ID INTEGER, bit1 INTEGER, bit2 INTEGER);INSERT INTO bits (ID, bit1, bit2) VALUES ( 11, 1, 1), -- Bits are all the same. ( 24, 2, 4), -- Bits are all different. ( 42, 4, 2), -- Bits are all different. ( 1624, 16, 24), -- Bits overlap. (65504, 0, 65504), -- Lots of bits (all but the low 6 bits) ( 0, NULL, NULL) -- No bits ;Exécutez la requête :
SELECT bit1, bit2, BITAND(bit1, bit2), BITOR(bit1, bit2), BITXOR(bit1, BIT2) FROM bits ORDER BY bit1;Sortie :
+------+-------+--------------------+-------------------+--------------------+ | BIT1 | BIT2 | BITAND(BIT1, BIT2) | BITOR(BIT1, BIT2) | BITXOR(BIT1, BIT2) | |------+-------+--------------------+-------------------+--------------------| | 0 | 65504 | 0 | 65504 | 65504 | | 1 | 1 | 1 | 1 | 0 | | 2 | 4 | 0 | 6 | 6 | | 4 | 2 | 0 | 6 | 6 | | 16 | 24 | 16 | 24 | 8 | | NULL | NULL | NULL | NULL | NULL | +------+-------+--------------------+-------------------+--------------------+