PostgreSQL предоставляет стандартный тип SQLboolean ; Тип booleanможет иметь несколько состояний: “true”, “false”, и третье состояние, “unknown”, которое представлено нулевым значением SQL .
| Имя | Размер хранилища | Описание |
|---|---|---|
boolean | 1 байт | состояние истинное или ложное |
Логические константы могут быть представлены в SQL-запросах ключевыми словами SQL TRUE, FALSEи NULL.
Функция ввода типа данных для type booleanпринимает эти строковые представления для состояния « true » :
true |
yes |
on |
1 |
и эти представления для « ложного » состояния:
false |
no |
off |
0 |
Также допускаются уникальные префиксы этих строк, например tили n. Начальные или конечные пробелы игнорируются, и регистр не имеет значения.
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. Но вы также можете использовать строковые представления, следуя общему синтаксису констант строкового литерала, описанному. Обратите внимание, что синтаксический анализатор автоматически понимает, что TRUEи FALSEимеют тип boolean, но это не так NULL, потому что это может иметь любой тип. Таким образом, в некоторых контекстах вам может потребоваться явное приведение NULL, booleanнапример NULL::boolean. И наоборот, приведение может быть опущено из логического значения строкового литерала в контекстах, где синтаксический анализатор может сделать вывод, что литерал должен быть типа boolean.
0 комментариев