PostgreSQL提供标准的SQL类型boolean
,参见表 8.19。boolean
可以有多个状态:“true(真)”、“false(假)”和第三种状态“unknown(未知)”,未知状态由SQL空值表示。
表 8.19. 布尔数据类型
名字 | 存储字节 | 描述 |
---|---|---|
boolean | 1字节 | 状态为真或假 |
在SQL查询中,布尔常量可以表示为SQL关键字TRUE
, FALSE
,和 NULL
.
boolean
类型的数据类型输入函数接受这些字符串表示“真”状态:
true |
yes |
on |
1 |
下面这些表示“假” 状态:
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
在SQL查询中优先使用关键字TRUE
和 FALSE
来写布尔常数(SQL-兼容)。
但是你也可以使用遵循第 4.1.2.7 节中描述的通用字符串文字常量句法的字符串来表达,例如"yes"::boolean
.
注意语法分析程序会把TRUE
和 FALSE
自动理解为boolean
类型,但是不包括NULL
,因为它可以是任何类型的。
因此在某些语境中你也许要将 NULL
转化为显示boolean
类型,例如NULL::boolean
.
反过来,上下文中的字符串文字布尔值也可以不转换,当语法分析程序能够断定文字必定为boolean
类型时。
NOTIFY — 生成一个通知大纲NOTIFY channel [ , payload ]描述 NOTIFY命令发送一个通知事件以及一个可选的“载荷”字符串给每个...
UNLISTEN — 停止监听一个通知 大纲UNLISTEN { channel | * } 描述 UNLISTEN被用来移除一个已经存在的对 NOTIFY事件的注册。 UNL...
dropdb — 移除一个PostgreSQL数据库大纲dropdb [connection-option...] [option...] dbname 描述 dropdb毁掉一个现有的PostgreS...
pg_isready — 检查一个PostgreSQL服务器的连接状态 大纲pg_isready [connection-option...] [option...] 描述 pg_isready是一个...
既然已经学了execute和normal!,我们就可以深入探讨一个Vimscript惯用法。 执行下面的命令::execute "normal! gg/foocrdd"这将...