他のバージョンの文書10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

3.6. 論理値データ型

PostgreSQLSQL99boolean を提供しています。boolean には 2 つの状態のうち 1 つを保持できます。「真(true)」 または「偽(false)」です。第 3 の状態である 「不明(unknown)」は SQL において NULL で表現されます。

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

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

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

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

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

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-2t および f を使って boolean の値が出力されたことを示しています。

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

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