PostgreSQLでは、標準SQLのboolean型が提供されています。 booleanは"真"もしくは"偽"という2つしかない値のどちらかを取ることができます。 第3の状態である"不明"はSQLのnull値で表現されます。
"真"状態に対する有効なリテラル値には次のものがあります。
TRUE |
't' |
'true' |
'y' |
'yes' |
'1' |
FALSE |
'f' |
'false' |
'n' |
'no' |
'0' |
例 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-2はtおよびfという文字を使ってbooleanの値が出力されたことを示しています。
ティップ: boolean型の値は他のデータ型に直接キャストできません(例えば、CAST (boolval AS integer)は機能しません)。 次のようにCASE文を使用することで解決できます。 CASE WHEN boolval THEN 'value if true' ELSE 'value if false' END。 項9.12も参照して下さい。
booleanは格納に1バイト使用します。