Catégories :

Fonctions d’expression au niveau du bit

BITNOT

Renvoie la négation au niveau du bit d’une expression numérique.

Alias :

BIT_NOT

Syntaxe

BITNOT( <expr> )

Arguments

expr

Cette expression doit correspondre à un type de données pouvant être converti en INTEGER.

Renvoie

Renvoie un entier qui représente la négation au niveau du bit de l’expression d’entrée.

Notes sur l’utilisation

  • Si le type de données de l’argument est numérique mais pas INTEGER (par exemple, FLOAT, DECIMAL, etc.), l’argument est alors converti en INTEGER.

  • Si le type de données de l’argument est une chaîne (par exemple, VARCHAR), l’argument est alors converti en INTEGER si possible. Par exemple, la chaîne « 12,3 » est convertie en 12. Si la valeur ne peut pas être convertie en INTEGER, elle est traitée comme NULL.

  • Si l’argument est NULL, le résultat sera NULL.

Exemples

Cet exemple montre comment utiliser BITNOT :

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, BITNOT(bit1), BITNOT(bit2) FROM bits;

Sortie :

+------+-------+--------------+--------------+
| BIT1 |  BIT2 | BITNOT(BIT1) | BITNOT(BIT2) |
|------+-------+--------------+--------------|
|    1 |     1 |           -2 |           -2 |
|    2 |     4 |           -3 |           -5 |
|    4 |     2 |           -5 |           -3 |
|   16 |    24 |          -17 |          -25 |
|    0 | 65504 |           -1 |       -65505 |
| NULL |  NULL |         NULL |         NULL |
+------+-------+--------------+--------------+