8.6. Логический тип

PostgreSQL предоставляет стандартный SQL тип boolean. Значений типа boolean может быть два: "true"(истина) или "false"(ложь). Третье состояние "unknown"(неизвестно) представляется SQL значением NULL.

Допустимые литеральные значения для "true" это:

TRUE
't'
'true'
'y'
'yes'
'1'

Для "false" могут быть использованы такие значения как:

FALSE
'f'
'false'
'n'
'no'
'0'

Предпочтительным (и соответствующим стандарту SQL) является использование ключевых слов TRUE и FALSE.

Example 8-2. Использование типа boolean

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 показывает, что значения boolean выводятся с использованием букв t и f.

Tip: Значения типа boolean не могут напрямую быть приведены к другим типам (т.е., CAST (boolval AS integer) не будет работать). Это может быть выполнено с помощью выражения CASE: CASE WHEN boolval THEN 'значение, когда истина' ELSE 'значение, когда ложь' END. Смотрите Section 9.13.

Значения boolean используют для хранения 1 байт.