Wahrheitsliterale in SQL
WARNINGS; SET SESSION sql_mode = 'ANSI,TRADITIONAL';
DROP SCHEMA S; CREATE SCHEMA S; USE S;
CREATE TABLE ALPHABET ( ZEICHEN VARCHAR ( 255 ), VOKAL VARCHAR ( 255 ) );
INSERT INTO ALPHABET ( ZEICHEN, VOKAL ) VALUES ( 'A', TRUE );
INSERT INTO ALPHABET ( ZEICHEN, VOKAL ) VALUES ( 'B', FALSE );
INSERT INTO ALPHABET ( ZEICHEN, VOKAL ) VALUES ( 'C', FALSE );
INSERT INTO ALPHABET ( ZEICHEN, VOKAL ) VALUES ( 'D', FALSE );
INSERT INTO ALPHABET ( ZEICHEN, VOKAL ) VALUES ( 'E', TRUE );
SELECT * FROM ALPHABET;
Wahrheitsliteral
Ein Wahrheitsliteral ist »TRUE« oder »FALSE«.
Das Literal »TRUE« hat den Wert 1.
SELECT TRUE FROM ONE;
+------+
| TRUE |
+------+
| 1 |
+------+
Das Literal »FALSE« hat den Wert 0.
SELECT FALSE FROM ONE;
+-------+
| FALSE |
+-------+
| 0 |
+-------+
Der Zahlenwert 0 wird auch als Wahrheitswert „falsch“ interpretiert, jeder andere Zahlenwert gilt als wahr.
SELECT TRUE;
+------+
| TRUE |
+------+
| 1 |
+------+SELECT TRUE+TRUE;
+-----------+
| TRUE+TRUE |
+-----------+
| 2 |
+-----------+SELECT TRUE*TRUE;
+-----------+
| TRUE*TRUE |
+-----------+
| 1 |
+-----------+SELECT TRUE+FALSE;
+------------+
| TRUE+FALSE |
+------------+
| 1 |
+------------+SELECT TRUE*FALSE;
+------------+
| TRUE*FALSE |
+------------+
| 0 |
+------------+
SELECT ZEICHEN, VOKAL FROM ALPHABET WHERE FALSE;
- (keine Ausgabe)
SELECT ZEICHEN, VOKAL FROM ALPHABET WHERE TRUE;
+---------+-------+
| ZEICHEN | VOKAL |
+---------+-------+
| A | 1 |
| B | 0 |
| C | 0 |
| D | 0 |
| E | 1 |
+---------+-------+