Postgresql 中文操作指南

8.6. Boolean Type #

PostgreSQL 提供标准 SQL 类型 boolean;请参阅 Table 8.19。_boolean_类型可以有几个状态:“真”、“假”和第三种状态“未知”,由 SQL 空值表示。

Table 8.19. Boolean Data Type

Name

Storage Size

Description

boolean

1 byte

true 或 false 状态

布尔常量在SQL查询中可以通过SQL关键字_TRUE_、_FALSE_及_NULL_表示。

类型_boolean_的数据类型输入函数接受以下字符串表示表示“true”状态:

以及以下表示表示“false”状态:

这些字符串的唯一前缀也被接受,例如_t_或_n_。前导或尾随空格被忽略,且区分大小写。

类型 boolean_的数据类型输出函数总是会发出 _t_或 _f,如 Example 8.2所示。

Example 8.2. Using the boolean Type

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 兼容的)方法。但你也可以按照 Section 4.1.2.7中描述的通用字符串文本常量语法来使用字符串表示,例如 _'yes'::boolean

请注意,解析器自动理解_TRUE_和_FALSE_的类型是_boolean_,但_NULL_并不如此,因为其可以具有任何类型。所以在某些情况下,您可能必须将_NULL_显式转换为_boolean_,例如_NULL::boolean_。相反,在解析器可以推断文本必须是类型_boolean_的情况下,可以从字符串文本布尔值中省略转换。