boolean
逻辑布尔值(真/假)
当前查看 PostgreSQL 18.6。
PG10–20 核心源码清单。类型转换与操作符类列出源码显式声明的关系;缺少记录不能排除通过其他机制进行转换或使用索引。
定义
SQL 名称与别名: bool
逻辑布尔值(真/假)
boolean
- 目录名称
- pg_catalog.bool
- 类型 OID
- 16
- 类型种类
- 基础类型
- 声明长度
- 1 字节
- 存储策略
- plain
- 输入函数
- boolin
- 输出函数
- boolout
- 手册中的声明
- boolean
- 存储大小
- 1 字节
- 手册说明
- 状态为真或假
中文手册
阅读来源定义
8.6. 布尔类型
8.6. 布尔类型
PostgreSQL提供标准的SQL类型boolean,参见表 8.19。boolean可以有多个状态:“true(真)”、“false(假)”和第三种状态“unknown(未知)”,未知状态由SQL空值表示。
表 8.19. 布尔数据类型
| 名字 | 存储大小 | 说明 |
|---|---|---|
boolean |
1 字节 | 状态为真或假 |
在 SQL 查询中,布尔常量可以用 SQL 关键字 TRUE、FALSE 和 NULL 表示。
boolean 类型的输入函数接受以下表示“真”状态的字符串:
| 真 |
| 是 |
on |
1 |
以及以下表示“假”状态的字符串:
| 假 |
| 否 |
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 查询中书写布尔常量时,首选符合 SQL 标准的 TRUE 和 FALSE 关键字。也可按第 4.1.2.7 节介绍的通用字符串字面量语法使用字符串表示,例如 'yes'::boolean。
注意,语法分析器会自动将 TRUE 和 FALSE 理解为 boolean 类型,但 NULL 不会,因为它可以是任意类型。因此在某些上下文中,你可能需要显式将 NULL 转换为 boolean,例如 NULL::boolean。反过来,如果语法分析器能够判定某个字符串字面量必定是 boolean 类型,则也可以省略这类转换。
系统目录属性
此构建的源码初始化值。字段含义参见 pg_type 。包含头文件默认值;依赖构建的常量保留符号形式,不作为服务器运行时实测。
oid16descrboolean, format 't'/'f'typacl_null_typlen1typelem0typnamebooltypsendboolsendtyptypebtypalignctyparray0typbyvalttypdelim','typinputboolintypmodin-typndims0typownerPOSTGREStyprelid0typmodout-typoutputboolouttyptypmod-1typanalyze-typdefault_null_typnotnullftypreceiveboolrecvtypstorageptypbasetype0typcategoryBtypcollation0typisdefinedttypnamespacepg_catalogtypsubscript-typdefaultbin_null_array_type_oid1000typispreferredtarray_type_name_bool
类型转换 6
与此类型相关的显式 pg_cast 记录。PostgreSQL 还支持 pg_cast 之外的类型转换,缺少记录不能证明转换不可能。
运算符重载 6
每种操作数签名均为独立重载。实现函数和返回类型来自同一源码构建。
操作符类 2
声明输入类型与此类型相符的操作符类。多态操作符类、类型转换和表达式索引还可能提供其他索引路径;不能仅凭此表判断是否支持索引。
版本比较
PostgreSQL 17.11 → 18.6。属性比较不包含构建标识和说明正文;原始目录字段与源描述保留原文。
这两个样本的系统目录和结构化属性没有变化。
这些构建的文档也有差异,请查看对应版本的手册定义。
文档与源码
- 构建
- 18.6 · https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- 指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f
相关条目
全部数据类型 · 下载此版本 JSON · 最早收录的样本不代表该类型的实际引入版本。