Digital Q.DataBase предоставляет
стандартный SQL тип boolean;
см. Таблица 2.5.19.
Данный boolean тип может принимать несколько состояний:
«true», «false», а также третье состояние —
«unknown», которое представляется
SQL значением null.
Таблица 2.5.19. Логический тип данных
| Имя | Размер | Описание |
|---|---|---|
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, как показано в
Пример 2.5.2.
Пример 2.5.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-запросах. Однако можно также использовать строковые представления, следуя общему синтаксису строковых констант, описанному в Раздел 2.1.1.2.7, на
пример 'yes'::boolean.
Обратите внимание, что анализатор автоматически понимает,
что TRUE и FALSE имеют
тип boolean, однако это не так для NULL поскольку это значение может иметь любой тип.
Поэтому в некоторых контекстах может потребоваться привести NULL
на boolean явным образом, на
пример NULL::boolean. Напротив, приведение типа для логического значения в виде строкового литерала можно опустить в тех контекстах, где анализатор может определить, что данный литерал должен иметь тип boolean.