PostgreSQL 提供了標準的SQL類型 boolean
; 請參考 表 8.19。 boolean
類型可以有幾個狀態: “true”、 “false” 和第三個狀態 “unknown”,以SQLnull 值表示。
表 8.19. 布林資料類型
名稱 | 儲存大小 | 描述 |
---|---|---|
boolean |
1 位元組 | true 或 false 的狀態 |
布林常數可以在 SQL 查詢中使用 SQL 關鍵字 TRUE
、FALSE
和 NULL
表示。
類型 boolean
的資料類型輸入函式接受以下字串表示形式作為 “true” 狀態
true |
yes |
on |
1 |
以及以下表示形式作為 “false” 狀態
false |
no |
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
關鍵字 TRUE
和 FALSE
是編寫 SQL 查詢中布林常數的首選(也是SQL符合標準的)方法。 但您也可以使用字串表示形式,方法是遵循 第 4.1.2.7 節 中描述的通用字串文字常數語法,例如 'yes'::boolean
。
請注意,剖析器自動理解 TRUE
和 FALSE
的類型為 boolean
,但 NULL
並非如此,因為它可以具有任何類型。 因此在某些情況下,您可能需要將 NULL
顯式轉換為 boolean
,例如 NULL::boolean
。 相反地,在剖析器可以推斷文字必須是 boolean
類型的情況下,可以從字串文字布林值中省略轉換。
如果您在文件中發現任何不正確、與特定功能的使用經驗不符或需要進一步澄清的地方,請使用 此表單 回報文件問題。