5.6. 論理値データ型

PostgreSQL では、標準の SQL の型 boolean が提供されています。boolean は 2 つしかない値のどちらかを取ることができます。「真(true)」または「偽(false)」です。 第 3 の状態である「不明(unknown)」は SQL において null で表現されます。

「真(true)」状態に対する有効なリテラル値には次のものがあります。

TRUE
't'
'true'
'y'
'yes'
'1'

「偽(false)」状態に対しては、次の値が使えます。

FALSE
'f'
'false'
'n'
'no'
'0'

キーワードは TRUEFALSE の使用を推奨します(そしてこれらは SQL 互換です)。

Example 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

Example 5-2t および f を使って boolean の値が出力されたことを示しています。

Tip: boolean の値は他のデータ型に直接キャストできません(例えば、CAST (boolval AS integer) は機能しません。方法としては CASE 文で解決できます。CASE WHEN boolval THEN 'value if true' ELSE 'value if false' ENDSection 6.12 も参照して下さい。

boolean は保存に 1 バイト使用 します。