PostgreSQL – 布尔数据类型
在本文中,我们将在设计数据库表时研究 PostgreSQL 布尔数据类型及其实现。 PostgreSQL 布尔数据类型有 3 种状态,即 TRUEBOOL
。
下表描述了 PostgreSQL 中 TRUE 和 FALSE 的所有有效字面量值:
True | False |
---|---|
true | false |
‘t’ | ‘f’ |
‘true’ | ‘false’ |
‘y’ | ‘n’ |
‘yes’ | ‘no’ |
1 | 0 |
现在,让我们看几个例子。出于同样的原因,让我们使用以下命令创建一个示例数据库(比如书店):
CREATE DATABASE bookstore;
使用以下命令将表(例如 book_availability)添加到书店数据库:
CREATE TABLE book_availability (
book_id INT NOT NULL PRIMARY KEY,
available BOOLEAN NOT NULL
);
现在使用以下命令向 book_availability 表插入一些数据:
INSERT INTO book_availability (book_id, available)
VALUES
(100, TRUE),
(200, FALSE),
(300, 't'),
(400, '1'),
(500, 'y'),
(600, 'yes'),
(700, 'no'),
(800, '0');
现在我们的数据库已经准备好了,让我们看一些例子。
示例 1:
在本例中,我们将查询书店中所有可用的书籍。
SELECT
*
FROM
book_availability
WHERE
available = 'yes';
输出:
示例 2:
在这个例子中,我们将查询书店中没有的所有书籍。
SELECT
*
FROM
book_availability
WHERE
available = 'no';
输出:
示例 3:
在这个例子中,我们将使用 NOT运算符来检查书店中没有的书籍。
SELECT
*
FROM
book_availability
WHERE
NOT available;
输出: