PostgreSQL は SQL99 のboolean を提供しています。boolean には 2 つの状態のうち 1 つを保持できます。「真(true)」 または「偽(false)」です。第 3 の状態である 「不明(unknown)」は SQL において NULL で表現されます。
「真(true)」状態に対する有効なリテラル値には次のものがあります。
TRUE |
't' |
'true' |
'y' |
'yes' |
'1' |
FALSE |
'f' |
'false' |
'n' |
'no' |
'0' |
Example 3-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 3-2 は t および f を使って boolean の値が出力されたことを示しています。
Tip: boolean の値は他のデータ型に直接キャストできません(例えば、CAST (boolval AS integer) は機能しません。方法としては CASE 文で解決できます。CASE WHEN boolval THEN 'value if true' ELSE 'value if false' END。 Section 4.12 も参照してください。
boolean は保存に 1 バイト使用します。