📜  PostgreSQL布尔值

📅  最后修改于: 2020-11-30 07:34:07             🧑  作者: Mango

PostgreSQL布尔值

在本节中,我们将了解PostgreSQL布尔数据类型的工作原理,这使我们可以设计数据库表。我们还看到了布尔数据类型的示例

什么是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布尔数据类型的示例

让我们看不同的示例,以了解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_stockIN_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布尔数据类型部分中,我们学习了以下主题:

  • 布尔数据类型用于存储布尔数据。
  • 我们使用PostgreSQL布尔数据类型来设置布尔列的默认值。