📅  最后修改于: 2020-11-30 07:34:07             🧑  作者: Mango
在本节中,我们将了解PostgreSQL布尔数据类型的工作原理,这使我们可以设计数据库表。我们还看到了布尔数据类型的示例。
布尔值是PostgreSQL中常用的数据类型,总是返回两个可能的值,例如TRUE和FALSE 。布尔数据类型可以缩写为BOOL 。
换句话说,我们可以说PostgreSQL布尔数据类型使用一个字节在数据库中存储布尔值。并且它总是可以以YES或No值的形式获得批准。
PostgreSQL允许我们使用一个布尔数据类型,称为BOOLEAN,其中包含三个不同的True,False和Null值。
注意:SQL支持布尔数据类型的TRUE,FALSE和NULL值。但是PostgreSQL仅使用TRUE和FALSE值是灵活的。
我们有下表,其中包含PostgreSQL支持的TRUE和FALSE的有效字面量值:
True | False |
---|---|
true | false |
‘t’ | ‘f ‘ |
‘true’ | ‘false’ |
‘y’ | ‘n’ |
‘yes’ | ‘no’ |
‘1’ | ‘0’ |
注意:如上表所示,除True和False外,所有常量值都必须用单引号引起来。上表中的前导或尾随空格无关紧要。
让我们看不同的示例,以了解PostgreSQL布尔数据类型如何工作。
为此,我们将在CREATE命令的帮助下创建一个新表,并使用INSERT命令插入一些值。
我们将通过在Javatpoint数据库中使用CREATE命令来创建表Items_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;
输出量
执行上面的命令时,与上面的命令相比,我们将得到类似的输出:
同样,如果我们检查错误的值,则可以将Boolean列的值与任何有效的Boolean常量进行比较。
以下命令用于返回不在库存中的物料:
SELECT *
FROM Items_in_stock
WHERE In_stock= 'no';
输出量
成功执行上述命令后,我们将得到以下结果: Items不适用于Items_in_stock表中的特定Items_id。
或者,我们可以使用NOT运算符来确定Boolean列中的值是否为false ,如以下命令所示:
SELECT *
FROM Items_in_stock
WHERE NOT In_stock;
输出量
执行上面的命令时,与上面的命令相比,我们将得到类似的输出:
我们在ALTER TABLE命令中使用SET DEFAULT子句为现有的Boolean列设置默认值。
在下面的例子中,我们使用下面的ALTER TABLE命令来设置默认值在Items_in_stock表IN_STOCK柱:
ALTER TABLE Items_in_stock
ALTER COLUMN In_stock
SET DEFAULT FALSE;
输出量
执行完上述命令后,我们将收到以下消息,说明Items_in_stock表已成功更改。
如果我们插入一行而不描述In_stock列的值,则PostgreSQL使用FALSE值:
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表已成功创建。
在PostgreSQL布尔数据类型部分中,我们学习了以下主题: