Kategorien:

Bitweise Ausdrucksfunktionen

BITNOT

Gibt die bitweise Negation eines numerischen Ausdrucks zurück.

Aliasse:

BIT_NOT

Syntax

BITNOT( <expr> )
Copy

Argumente

expr

Dieser Ausdruck muss einen Datentyp haben, der in INTEGER umgewandelt werden kann.

Rückgabewerte

Gibt eine Ganzzahl zurück, die die bitweise Negation des Eingabeausdrucks darstellt.

Nutzungshinweise

  • Wenn der Datentyp des Argumente numerisch, aber nicht INTEGER ist (z. B. FLOAT, DECIMAL usw.), wird das Argument nach Möglichkeit in INTEGER umgewandelt.

  • Wenn der Datentyp des Arguments eine Zeichenfolge ist (z. B. VARCHAR), wird das Argument nach Möglichkeit in INTEGER umgewandelt. So wird beispielsweise die Zeichenfolge „12,3“ in die Zahl 12 umgewandelt. Wenn der Wert nicht in INTEGER umgewandelt werden kann, wird der Wert als NULL behandelt.

  • Wenn das Argument NULL ist, lautet das Ergebnis NULL.

Beispiele

In diesem Beispiel wird die Verwendung von BITNOT veranschaulicht:

Erstellen Sie eine einfache Tabelle und Daten:

CREATE TABLE bits (ID INTEGER, bit1 INTEGER, bit2 INTEGER);
Copy
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
    ;
Copy

Führen Sie die Abfrage aus:

SELECT bit1, bit2, BITNOT(bit1), BITNOT(bit2)
  FROM bits
  ORDER BY bit1;
Copy

Ausgabe:

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