跳到主要内容

Boolean 类型

名称别名描述
BOOLEANBOOL逻辑布尔值(true / false

BOOLEAN 类型表示真值判断(“true” 或 “false”)。在 SQL 中,BOOLEAN 字段还可以有第三种状态“unknown”,由 SQL NULL 值表示。

选择 BOOLEAN 列可能出现的三种值:

SELECT true, false, NULL::BOOLEAN;

布尔值可以通过字面量 truefalse 显式创建。不过,更常见的是它们由比较或逻辑连接的结果产生。例如,比较 i > 10 会得到一个布尔值。布尔值可用于 SQL 语句的 WHEREHAVING 子句中,以从结果中过滤元组。在这种情况下,谓词计算为 true 的元组会通过过滤,而计算为 falseNULL 的元组会被过滤掉。请看下面的示例:

创建一个包含 5、15 和 NULL 的表:

CREATE TABLE integers (i INTEGER);
INSERT INTO integers VALUES (5), (15), (NULL);

选择所有满足 i > 10 的记录:

SELECT * FROM integers WHERE i > 10;

在该情况下,5 和 NULL 会被过滤掉(5 > 10falseNULL > 10NULL):

i
15

逻辑连接

AND / OR 连接可用于组合布尔值。

下表是 AND 连接(即 x AND y)的真值表。

XX AND trueX AND falseX AND NULL
truetruefalseNULL
falsefalsefalsefalse
NULLNULLfalseNULL

下表是 OR 连接(即 x OR y)的真值表。

XX OR trueX OR falseX OR NULL
truetruetruetrue
falsetruefalseNULL
NULLtrueNULLNULL

表达式

请参阅逻辑运算符比较运算符