BOOLEAN

Sintassi

BOOL, BOOLEAN

Spiegazione

Questi tipi sono sinonimi di TINYINT(1). Un valore di zero è considerato false. Un valore diverso da zero è true:

mysql> SELECT IF(0, 'true', 'false');
+------------------------+
| IF(0, 'true', 'false') |
+------------------------+
| false                  |
+------------------------+

mysql> SELECT IF(1, 'true', 'false');
+------------------------+
| IF(1, 'true', 'false') |
+------------------------+
| true                   |
+------------------------+

mysql> SELECT IF(2, 'true', 'false');
+------------------------+
| IF(2, 'true', 'false') |
+------------------------+
| true                   |
+------------------------+

Tuttavia, i valori TRUE e FALSE sono solo dei sinonimi di 1 e 0, rispettivamente, come dimostrato in questi esempi:

mysql> SELECT IF(0 = FALSE, 'true', 'false');

+--------------------------------+
| IF(0 = FALSE, 'true', 'false') |
+--------------------------------+
| true                           |
+--------------------------------+

mysql> SELECT IF(1 = TRUE, 'true', 'false');
+-------------------------------+
| IF(1 = TRUE, 'true', 'false') |
+-------------------------------+
| true                          |
+-------------------------------+

mysql> SELECT IF(2 = TRUE, 'true', 'false');
+-------------------------------+
| IF(2 = TRUE, 'true', 'false') |
+-------------------------------+
| false                         |
+-------------------------------+

mysql> SELECT IF(2 = FALSE, 'true', 'false');
+--------------------------------+
| IF(2 = FALSE, 'true', 'false') |
+--------------------------------+
| false                          |
+--------------------------------+

Gli ultimi due esempi mettono in evidenza che 2 è diverso da 1 e da 0.

Il tipo booleano verrà implementato, secondo gli standard di SQL, in una versione futura.

Commenti

Sto caricando i commenti......