PostgreSQL 提供标准的SQL类型 boolean
;请参阅表 8.19。 boolean
类型可以有几种状态:“true”、“false” 和第三种状态 “unknown”,它由SQL空值表示。
表 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
类型的情况下,可以从字符串文字布尔值中省略转换。
如果您在文档中发现任何不正确的内容、与您使用特定功能的经验不符或需要进一步澄清的内容,请使用此表单报告文档问题。