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.