Der 0-Detektor »NOT« in SQL (MySQL )
Der NOT -Operator ergibt 1, wenn sein Operand 0 ist, und sonst 0.
- Konsole
SELECT NOT 0;
+-------+
| NOT 0 |
+-------+
| 1 |
+-------+SELECT NOT 4;
+-------+
| NOT 4 |
+-------+
| 0 |
+-------+
Syntax
- Neue, erweiterte Syntax (vereinfacht)
Ausdruck
.----------.
---.----------->| Literal |---------------------------.---->
| '----------' |
| .----------. |
'----------->| Name |---------------------------'
| '----------' |
| .----------. .-. .-. |
'----------->| Name |--->( ( )--->( ) )---------'
| '----------' '-' '-' |
| .-. .----------. .-. |
'--->( ( )-->| Ausdruck |-->( ) )-------------------'
| '-' '----------' '-' |
| .-. .----------. |
'--->( - )-->| Ausdruck |---------------------------'
| '-' '----------' |
| .-. .----------. |
'--->( + )-->| Ausdruck |---------------------------'
| '-' '----------' |
| .----------. .-. .----------. |
'----------->| Ausdruck |-->( * )-->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'----------->| Ausdruck |-->( / )-->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .---. .----------. |
'----------->| Ausdruck |->( DIV )->| Ausdruck |----'
| '----------' '---' '----------' |
| .----------. .-. .----------. |
'----------->| Ausdruck |-->( + )-->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'----------->| Ausdruck |-->( - )-->| Ausdruck |----'
| '----------' '-' '----------' |
| .---. .----------. |
'-->( NOT )->| Ausdruck |---------------------------'
'---' '----------'
Priorität
In der folgenden Liste von Operatoren stehen Operatoren höherer Priorität weiter oben.
- Prioritäten von Operatoren
- »()« (eingeklammerter Ausdruck)
- »-«, »+« (Vorzeichen)
- »*«, »/«, »DIV« („Punktrechnung“)
- »-«, »+« („Strichrechnung“. binäre Operatoren)
- »NOT«
Assoziativität
Der Ausdruck »NOT NOT 0« wird als »NOT( NOT 0 )« interpretiert.
Typanforderungen
Der Operator
Der 0-detektor »NOT«
Der 0-detektor »NOT« ergibt »1« falls sein Operand gleich 0 ist. Er „detektiert“ (erkennt) damit also quasi die Zahl 0. Für alle anderen Zahlen liefert er 0.
SELECT 0;
+---+
| 0 |
+---+
| 0 |
+---+SELECT NOT 0;
+-------+
| NOT 0 |
+-------+
| 1 |
+-------+SELECT 1;
+---+
| 1 |
+---+
| 1 |
+---+SELECT NOT 1;
+-------+
| NOT 1 |
+-------+
| 0 |
+-------+SELECT NOT 2;
+-------+
| NOT 2 |
+-------+
| 0 |
+-------+SELECT NOT -3;
+--------+
| NOT -3 |
+--------+
| 0 |
+--------+SELECT NOT 0.2;
SELECT NOT 0.8;
SELECT NOT 'abc';
Auch dieser Operator »NOT« ist ein Beispiel für eine Stelle bei der MySQL zwischen 0 und allen anderen Zahlen unterscheidet.