MySQL Tutorial/Data Types/Boolean
BOOL, BOOLEAN
These types are synonyms for TINYINT(1).
A value of zero is considered false.
Non-zero values are considered true:
The constants TRUE and FALSE evaluate to 1 and 0, respectively.
<source lang="sql">
mysql> mysql> SELECT TRUE, true, FALSE, false; +------+------+-------+-------+ | TRUE | TRUE | FALSE | FALSE | +------+------+-------+-------+ | 1 | 1 | 0 | 0 | +------+------+-------+-------+ 1 row in set (0.00 sec) mysql></source>
The values TRUE and FALSE are merely aliases for 1 and 0, respectively, as shown here:
<source lang="sql">
mysql> mysql> SELECT IF(0 = FALSE, "true", "false"); +--------------------------------+ | IF(0 = FALSE, "true", "false") | +--------------------------------+ | true | +--------------------------------+ 1 row in set (0.00 sec) mysql> SELECT IF(1 = TRUE, "true", "false"); +-------------------------------+ | IF(1 = TRUE, "true", "false") | +-------------------------------+ | true | +-------------------------------+ 1 row in set (0.00 sec) mysql> SELECT IF(2 = TRUE, "true", "false"); +-------------------------------+ | IF(2 = TRUE, "true", "false") | +-------------------------------+ | false | +-------------------------------+ 1 row in set (0.00 sec) mysql> SELECT IF(2 = FALSE, "true", "false"); +--------------------------------+ | IF(2 = FALSE, "true", "false") | +--------------------------------+ | false | +--------------------------------+ 1 row in set (0.00 sec) mysql></source>
Using if statement with BOOLEAN
<source lang="sql">
mysql> mysql> SELECT IF(0, "true", "false"); +------------------------+ | IF(0, "true", "false") | +------------------------+ | false | +------------------------+ 1 row in set (0.00 sec) mysql> SELECT IF(1, "true", "false"); +------------------------+ | IF(1, "true", "false") | +------------------------+ | true | +------------------------+ 1 row in set (0.00 sec) mysql> SELECT IF(2, "true", "false"); +------------------------+ | IF(2, "true", "false") | +------------------------+ | true | +------------------------+ 1 row in set (0.00 sec) mysql> mysql> mysql></source>