支援版本: 目前版本 (17) / 16 / 15 / 14 / 13
開發版本: devel
不支援版本: 12 / 11 / 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 / 7.1

8.6. 布林類型 #

PostgreSQL 提供了標準的SQL類型 boolean; 請參考 表 8.19boolean 類型可以有幾個狀態: truefalse 和第三個狀態 unknown,以SQLnull 值表示。

表 8.19. 布林資料類型

名稱 儲存大小 描述
boolean 1 位元組 true 或 false 的狀態

布林常數可以在 SQL 查詢中使用 SQL 關鍵字 TRUEFALSENULL 表示。

類型 boolean 的資料類型輸入函式接受以下字串表示形式作為 true 狀態

true
yes
on
1

以及以下表示形式作為 false 狀態

false
no
off
0

這些字串的唯一前綴也被接受,例如 tn。 前導或尾隨的空白會被忽略,大小寫沒有區別。

類型 boolean 的資料類型輸出函式總是發出 tf,如 範例 8.2 所示。

範例 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

關鍵字 TRUEFALSE 是編寫 SQL 查詢中布林常數的首選(也是SQL符合標準的)方法。 但您也可以使用字串表示形式,方法是遵循 第 4.1.2.7 節 中描述的通用字串文字常數語法,例如 'yes'::boolean

請注意,剖析器自動理解 TRUEFALSE 的類型為 boolean,但 NULL 並非如此,因為它可以具有任何類型。 因此在某些情況下,您可能需要將 NULL 顯式轉換為 boolean,例如 NULL::boolean。 相反地,在剖析器可以推斷文字必須是 boolean 類型的情況下,可以從字串文字布林值中省略轉換。

提交更正

如果您在文件中發現任何不正確、與特定功能的使用經驗不符或需要進一步澄清的地方,請使用 此表單 回報文件問題。