8.6. Тип Boolean#
8.6. Тип Boolean #
Tantor SE-1C предоставляет стандартный тип SQL boolean
;
см. Таблица 8.19.
Тип boolean
может иметь несколько состояний:
“true”, “false” и третье состояние,
“unknown”, которое представляется значением null в SQL.
Таблица 8.19. Тип данных Boolean
Имя | Размер хранилища | Описание |
---|---|---|
boolean | 1 байт | состояние true или false |
Логические константы могут быть представлены в SQL-запросах с помощью ключевых слов SQL TRUE
, FALSE
и NULL
.
Функция ввода данных для типа boolean
принимает следующие строковые представления для состояния “true”:
true |
yes |
on |
1 |
и эти представления для состояния “false”:
false |
no |
off |
0 |
Уникальные префиксы этих строк также принимаются, например t
или n
.
Ведущие или завершающие пробелы игнорируются, и регистр не имеет значения.
Специальная функция вывода данных для типа boolean
всегда выводит либо t
, либо f
, как показано в Пример 8.2.
Пример 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
Ключевые слова TRUE
и FALSE
являются предпочтительным (соответствующим стандарту SQL) способом записи логических констант в SQL-запросах. Но вы также можете использовать строковые представления, следуя общему синтаксису констант строковых литералов, описанному в Раздел 4.1.2.7, например 'yes'::boolean
.
Обратите внимание, что парсер автоматически понимает, что TRUE
и FALSE
имеют тип boolean
, но это не относится к NULL
, потому что он может иметь любой тип. Поэтому в некоторых контекстах вам может потребоваться явно привести NULL
к типу boolean
, например, NULL::boolean
. Наоборот, приведение можно опустить для строкового литерала логического значения в контекстах, где парсер может вывести, что литерал должен иметь тип boolean
.