Kategorien:

Bitweise Ausdrucksfunktionen

BITOR

Gibt das bitweise OR von zwei numerischen Ausdrücken zurück.

Aliasse:

BIT_OR

Siehe auch:

BITOR_AGG

Syntax

BITOR( <expr1> , <expr2> )

Argumente

Ausdruck1

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

Ausdruck2

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

Rückgabewerte

Gibt eine Ganzzahl zurück, die das bitweise OR der Eingabeausdrücke darstellt.

Nutzungshinweise

  • Wenn der Datentyp eines der Argumente numerisch ist, jedoch nicht INTEGER (z. B. FLOAT, DECIMAL usw.), dann wird das Argument in INTEGER umgewandelt.

  • Wenn der Datentyp eines der beiden Argumente 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 einer der Werte NULL ist, ist das Ergebnis NULL.

Beispiele

In diesem Beispiel wird die Verwendung von BITAND(), BITOR() und BITXOR() veranschaulicht:

Erstellen Sie eine einfache Tabelle und Daten:

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
    ;

Führen Sie die Abfrage aus:

SELECT bit1, bit2, BITAND(bit1, bit2), BITOR(bit1, bit2), BITXOR(bit1, BIT2)
  FROM bits;

Ausgabe:

+------+-------+--------------------+-------------------+--------------------+
| BIT1 |  BIT2 | BITAND(BIT1, BIT2) | BITOR(BIT1, BIT2) | BITXOR(BIT1, BIT2) |
|------+-------+--------------------+-------------------+--------------------|
|    1 |     1 |                  1 |                 1 |                  0 |
|    2 |     4 |                  0 |                 6 |                  6 |
|    4 |     2 |                  0 |                 6 |                  6 |
|   16 |    24 |                 16 |                24 |                  8 |
|    0 | 65504 |                  0 |             65504 |              65504 |
| NULL |  NULL |               NULL |              NULL |               NULL |
+------+-------+--------------------+-------------------+--------------------+