- Kategorien:
BOOLOR¶
Berechnet das boolesche OR von zwei numerischen Ausdrücken. In Übereinstimmung mit der booleschen Semantik:
Nicht-Null-Werte (einschließlich negativer Zahlen) werden als „True“ betrachtet.
Nullwerte werden als „False“ betrachtet.
Als Ergebnis gibt die Funktion Folgendes zurück:
True, wenn beide Ausdrücke nicht null (zero) sind oder ein Ausdruck nicht null (zero) ist und der andere Ausdruck null (zero) oder NULL ist.False, wenn beide Ausdrücke null (zero) sind.NULL, wenn beide Ausdrücke NULL sind oder ein Ausdruck NULL ist und der andere Ausdruck null (zero) ist.
Syntax¶
BOOLOR( <expr1> , <expr2> )
Argumente¶
expr1Ein numerischer Ausdruck.
expr2Ein numerischer Ausdruck.
Rückgabewerte¶
Diese Funktion gibt einen Wert vom Typ BOOLEAN oder NULL zurück.
Nutzungshinweise¶
Diese Funktion rundet Fließkommazahlen. Daher kann es zu unerwarteten Ergebnissen kommen, wenn Gleitkommazahlen ungleich Null auf Null gerundet werden.
Beispiele für dieses Verhalten und Problemumgehungen finden Sie unter Boolesche OR-Ergebnisse für Gleitkommazahlen berechnen.
Beispiele¶
Die folgenden Beispiele verwenden die Funktion BOOLOR.
Boolesche OR-Ergebnisse für ganze Zahlen und NULL-Werte berechnen¶
Die folgende Abfrage berechnet boolesche OR-Ergebnisse für ganze Zahlen und NULL-Werte:
SELECT BOOLOR(1, 2),
BOOLOR(0, 2),
BOOLOR(3, NULL),
BOOLOR(0, 0),
BOOLOR(NULL, 0),
BOOLOR(NULL, NULL);
+--------------+--------------+-----------------+--------------+-----------------+--------------------+
| BOOLOR(1, 2) | BOOLOR(0, 2) | BOOLOR(3, NULL) | BOOLOR(0, 0) | BOOLOR(NULL, 0) | BOOLOR(NULL, NULL) |
|--------------+--------------+-----------------+--------------+-----------------+--------------------|
| True | True | True | False | NULL | NULL |
+--------------+--------------+-----------------+--------------+-----------------+--------------------+
Boolesche OR-Ergebnisse für Gleitkommazahlen berechnen¶
Die folgenden Beispiele zeigen, wie die Funktion bei Gleitkommazahlen, die auf Null gerundet werden, unerwartete Ergebnisse liefern kann.
Für die folgenden Abfragen wird möglicherweise das Ergebnis True Für die folgenden Funktionsaufrufe erwartet, aber sie geben False zurück, da die Funktion Nicht-Null-Gleitkommawerte auf Null rundet:
SELECT BOOLOR(0.4, 0.3);
+------------------+
| BOOLOR(0.4, 0.3) |
|------------------|
| False |
+------------------+
SELECT BOOLOR(-0.4, 0.3);
+-------------------+
| BOOLOR(-0.4, 0.3) |
|-------------------|
| False |
+-------------------+
Für die folgenden Abfragen wird möglicherweise das Ergebnis True für die folgenden Funktionsaufrufe erwartet, aber sie geben NULL zurück:
SELECT BOOLOR(0.4, NULL);
+-------------------+
| BOOLOR(0.4, NULL) |
|-------------------|
| NULL |
+-------------------+
SELECT BOOLOR(-0.4, NULL);
+--------------------+
| BOOLOR(-0.4, NULL) |
|--------------------|
| NULL |
+--------------------+
Falls erforderlich, können Sie dieses Rundungsverhalten für Gleitkommawerte umgehen, indem Sie den OR logischen Operator anstelle der Funktion verwenden. Die folgende Abfrage gibt zum Beispiel True zurück:
SELECT 0.4 OR 0.3;
+------------+
| 0.4 OR 0.3 |
|------------|
| True |
+------------+