8.6. 論理値データ型

PostgreSQLでは、標準SQLboolean型が提供されています。 boolean"真"もしくは"偽"という2つしかない値のどちらかを取ることができます。 第3の状態である"不明"SQLのNULL値で表現されます。

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

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

"偽"状態に対する有効なリテラル値には次のものがあります。

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

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

例 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

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

ティップ: boolean型の値は他のデータ型に直接キャストできません(例えば、CAST (boolval AS integer)は機能しません)。 次のようにCASE文を使用することで解決できます。 CASE WHEN boolval THEN 'value if true' ELSE 'value if false' END 項9.13を参照してください。

booleanは格納に1バイト使用します。