On this page
8.6. 布尔类型
PostgreSQL 提供了标准的 SQL 类型boolean
;参见Table 8.19。 boolean
类型可以具有几种状态:“ true”,“ false”和第三个状态“ unknown”(由 SQL 空值表示)。
表 8.19. 布尔数据类型
Name | Storage Size | Description |
---|---|---|
boolean |
1 byte | 正确或错误状态 |
布尔常量可以在 SQL 查询中用 SQL 关键字TRUE
,FALSE
和NULL
表示。
类型boolean
的数据类型 Importing 函数接受“ true”状态的以下字符串表示形式:
true |
yes |
on |
1 |
这些表示为“ false”的状态:
false |
no |
off |
0 |
这些字符串的唯一前缀也可以接受,例如t
或n
。前导或尾随空格将被忽略,大小写无关紧要。
类型boolean
的数据类型输出函数始终发出t
或f
,如Example 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)方法。但是,您也可以按照Section 4.1.2.7中描述的通用字符串 Literals 常量语法(例如'yes'::boolean
)使用字符串表示形式。
请注意,解析器会自动理解TRUE
和FALSE
的类型为boolean
,但是对于NULL
而言并非如此,因为它可以具有任何类型。因此,在某些情况下,您可能必须将NULL
强制转换为boolean
,例如NULL::boolean
。相反,在解析器可以推断 Literals 必须为boolean
类型的上下文中,可以从字符串 Literals 布尔值中省略强制类型转换。