boolean データの型は、TRUE、FALSE、および NULL で表される不明な状態の、合計 3 つの状態を表します。
データの型の概要
| 名前 | ストレージサイズ | 説明 |
|---|---|---|
boolean | 1 バイト | true、false、または不明(NULL)の値を格納します |
有効なリテラル
SQL クエリ内のブール定数は、SQL キーワード TRUE、FALSE、および NULL で表現できます。
SQL クエリ内でブール定数を記述する際には、SQL 準拠の推奨方法として、TRUE および FALSE の SQL キーワードをご使用ください。
入力関数では、以下の文字列表現も受け付けます。
| 状態 | 受け付けられる文字列 |
|---|---|
| 真 | true、yes、on、1 |
| 偽 | false、no、off、0 |
これらの文字列の先頭一致(ユニークなプレフィックス)も受け付けられます。たとえば、t や n などです。比較は大文字・小文字を区別せず、先頭および末尾の空白文字は無視されます。
出力関数は、入力に使用された形式に関わらず、常に t または f を出力します。
NULL および型キャスト
重要
パーサは、TRUE および FALSE を自動的にブール値として認識します。NULL には暗黙的な型がありません。コンテキストでブール型が要求される場合は、明示的に型キャストを行ってください:NULL::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