PostgreSQL provides the
standard SQL type boolean.
boolean can have one of only two states:
"true" or "false". A third state,
"unknown", is represented by the
SQL null value.
Valid literal values for the "true" state are:
TRUE
't'
'true'
'y'
'yes'
'1'
For the "false" state, the following values can be
used:
FALSE
'f'
'false'
'n'
'no'
'0'
Using the key words TRUE and
FALSE is preferred (and
SQL-compliant).
Example 8-2. Using the boolean type
CREATE TABLE test1 (a boolean, b text);
INSERT INTO test1 VALUES (TRUE, 'sic est');
INSERT INTO test1 VALUES (FALSE, 'non est');
SELECT * FROM test1;
a | b
---+---------
t | sic est
f | non est
SELECT * FROM test1 WHERE a;
a | b
---+---------
t | sic est
Example 8-2 shows that
boolean values are output using the letters
t and f.
Tip: Values of the boolean type cannot be cast directly
to other types (e.g., CAST
(boolval AS integer) does
not work). This can be accomplished using the
CASE expression: CASE WHEN
boolval THEN 'value if true' ELSE
'value if false' END. See Section 9.13.