在本节中,无涯教程将理解 postgreSQL布尔数据类型,的工作,允许无涯教程设计数据库表。无涯教程还看到 boolean数据类型的示例 。
布尔数据类型
布尔值是PostgreSQL中常用的数据类型,该数据类型总是返回两个可能的值,例如 TRUE和FALSE 。布尔数据类型可以缩写为 BOOL 。

换句话说,无涯教程可以说PostgreSQL布尔数据类型使用一个字节在数据库中存储布尔值。而且,它总是可以使用 YES或No 值的形式获得批准。
PostgreSQL 允许无涯教程使用一个布尔数据类型,称为 BOOLEAN ,其中包含三个不同的 True,False和Null 值。
布尔类型示例
让无涯教程看不同的示例,以了解 PostgreSQL布尔数据类型的工作方式。
无涯教程将通过使用 create 命令在 learnfk 数据库中使用 create 命令来创建表 stits_in_in_stock
CREATE TABLE Items_in_stock ( Items_id INT PRIMARY KEY, In_stock BOOLEAN NOT NULL );
执行上述命令后,已成功创建 Items_in_storck 表,如以下屏幕截图所示:

生成 Items_in_storck 表后,在 INSERT 命令的帮助下,无涯教程将几个文字值用于布尔值。
INSERT INTO Items_in_stock (Items_id,In_stock ) VALUES (101, TRUE), (201, FALSE), (301, t), (401, 1), (501, y), (601, yes), (701, no), (801, 0);
执行上述命令后,无涯教程将收到以下消息:该值已成功插入到 Items_in_stock 表中。

创建并插入 Items_in_stock 表的值后,无涯教程将使用以下命令查找库存中的物品:
SELECT * FROM Items_in_stock WHERE In_stock = yes;
成功执行上述命令后,无涯教程将得到以下结果: Items 可用于 Items_in_stock 表中的特定 Items_id 。

无涯教程还可以借助布尔列检索 True 值,而无需使用任何运算符。
SELECT * FROM Items_in_stock WHERE In_stock;
执行上面的命令时,与上面的命令相比,无涯教程将得到类似的输出:

同样,如果无涯教程检查错误的值,则可以将布尔列的值与任何有效的布尔常数进行比较。
以下命令用于返回库存中no的数据:
SELECT * FROM Items_in_stock WHERE In_stock= no;
成功执行上述命令后,无涯教程将得到以下结果。

或者,无涯教程可以使用 NOT运算符 来确定布尔列中的值是否为 false ,如以下命令所示:
SELECT * FROM Items_in_stock WHERE NOT In_stock;
执行上面的命令时,与上面的命令相比,无涯教程将得到类似的输出:

设置默认值
在以下示例中,无涯教程使用下面的ALTER TABLE命令为 Items_in_stock 表中的 in_stock 列设置了默认值:
ALTER TABLE Items_in_stock ALTER COLUMN In_stock SET DEFAULT FALSE;
执行完上述命令后,无涯教程将收到以下消息,说明 Items_in_stock 表已成功更改。

PostgreSQL使用假值如果无涯教程插入一行而不描述 in_stock 列的值:
INSERT INTO Items_in_stock (Items_id) VALUES (901);
实施上述命令后,无涯教程将收到以下消息:该特定值已成功插入 Items_in_stock 表中。

在以下命令中,无涯教程将使用 Select 语句检索 Items_id 901的值:
SELECT * FROM Items_in_stock WHERE Items_id = 901;
执行完以上命令后,无涯教程将得到以下输出:

同样,在使用 Create 命令创建表的同时,无涯教程还可以为Boolean列设置默认值。
无涯教程将在列定义中使用 DEFAULT 约束,如下面的命令所示:
CREATE TABLE test_boolean( test BOOL DEFAULT t );
实施上述命令后,无涯教程将获得以下消息: test_ boolean 表已成功创建。