8.6. 布爾類型

PostgreSQL 支持標準的 SQL boolean 數據類型. boolean 只能有兩個狀態之一: '真'('True') 或 '假'('False'). 第三種狀態,'未知'('Unknow'),用 SQL空狀態表示.

"真"值的有效文本值是︰

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

而對于"假"而言,你可以使用下面這些︰

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

使用TRUEFALSE 這樣的字眼比較好(也是SQL兼容的用法).

Example 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

Example 8-2 顯示了使用字母 tf 輸出 boolean 數值的例子.

技巧: boolean 類型的數值不能直接轉換成其它 類型(也就是說, CAST (boolval AS integer) 是不會起作用的).你可以用 CASE 表達式實現這個目地︰ CASE WHEN boolval THEN 'value if true' ELSE'value if false' END.又見 Section 9.12

bool 使用1字節存儲空間.