本页目录
布尔类型
OushuDB 提供标准的SQL类型boolean,参见 表。boolean可以有多个状态:“true(真)”、“false(假)”和第三种状态“unknown(未知)”,未知状态由SQL空值表示。
表 布尔数据类型
名字 |
存储字节 |
描述 |
|---|---|---|
|
1字节 |
状态为真或假 |
在SQL查询中,布尔常量可以表示为SQL关键字TRUE, FALSE,和
NULL.
boolean 类型的数据类型输入函数接受这些字符串表示“真”状态:
|
|
|
|
下面这些表示“假” 状态:
|
|
|
|
这些字符串的唯一前缀也可以接受,例如t 或 n.
前端或尾部的空格将被忽略,并且大小写不敏感。
boolean类型的数据类型输出函数总是发出 t 或
f,如 例 所示。
例 使用 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
在SQL查询中优先使用关键字TRUE 和
FALSE来写布尔常数(SQL-兼容)。
但是你也可以使用遵循 节 中描述的通用字符串文字常量句法的字符串来表达,例如'yes'::boolean.
注意语法分析程序会把TRUE 和 FALSE
自动理解为boolean类型,但是不包括NULL
,因为它可以是任何类型的。 因此在某些语境中你也许要将 NULL
转化为显示boolean类型,例如NULL::boolean.
反过来,上下文中的字符串文字布尔值也可以不转换,当语法分析程序能够断定文字必定为boolean类型时。