PostgreSQL 提供了標準的SQL型別 boolean
;參見 表 8.19。 boolean
型別可以有幾種狀態:“true”、“false”和第三種狀態“unknown”,它由SQLnull 值表示。
表 8.19. 布林資料型別
名稱 | 儲存大小 | 描述 |
---|---|---|
boolean |
1 位元組 | true 或 false 的狀態 |
在 SQL 查詢中,布林常量可以用 SQL 關鍵字 TRUE
、FALSE
和 NULL
來表示。
型別 boolean
的資料型別輸入函式可以接受“true”狀態的這些字串表示形式
true |
是 |
on |
1 |
以及“false”狀態的這些字串表示形式
false |
否 |
off |
0 |
這些字串的唯一字首也同樣被接受,例如 t
或 n
。前導或尾隨的空格將被忽略,且不區分大小寫。
型別 boolean
的資料型別輸出函式始終輸出 t
或 f
,如 示例 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
在 SQL 查詢中,關鍵字 TRUE
和 FALSE
是編寫布林常量的首選(SQL-compliant)方法。但是,您也可以透過遵循 第 4.1.2.7 節 中描述的通用字串字面量常量語法來使用字串表示形式,例如 'yes'::boolean
。
請注意,解析器會自動識別 TRUE
和 FALSE
是 boolean
型別,但對於 NULL
則不是,因為 NULL
可以是任何型別。因此,在某些上下文中,您可能需要顯式地將 NULL
強制轉換為 boolean
型別,例如 NULL::boolean
。相反,在解析器可以推斷出字面量必須是 boolean
型別的上下文中,可以省略字串字面量布林值的強制轉換。
如果您在文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。