Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

布尔值类型

使用 BOOLEAN 数据类型在单字节列中存储 true 和 false 值。下表描述了布尔值的三种可能状态以及导致这些状态的文本值。不管输入字符串如何,Boolean 列将存储和输出“t”表示 true,“f”表示 false。

状态 有效文本值 存储
True TRUE 't' 'true' 'y' 'yes' '1' 1 字节
False FALSE 'f' 'false' 'n' 'no' '0' 1 字节
Unknown NULL 1 字节

注意

我们建议始终显式检查布尔值,如以下示例所示。隐式比较 (例如 WHERE flagWHERE NOT flag) 可能会返回意外结果。

示例

您可使用 BOOLEAN 列将每个客户的“有效/无效”状态存储在 CUSTOMER 表中:

Copy
create table customer( custid int, active_flag boolean default true);
Copy
insert into customer values(100, default);
Copy
select * from customer; custid | active_flag -------+-------------- 100 | t

如果未在 CREATE TABLE 语句中指定默认值(truefalse),则插入默认值意味着插入 null。

在此示例中,查询从 USERS 表中选择喜欢运动而不喜欢电影院的用户:

Copy
select firstname, lastname, likesports, liketheatre from users where likesports is true and liketheatre is false order by userid limit 10; firstname | lastname | likesports | liketheatre ----------+------------+------------+------------- Lars | Ratliff | t | f Mufutau | Watkins | t | f Scarlett | Mayer | t | f Shafira | Glenn | t | f Winifred | Cherry | t | f Chase | Lamb | t | f Liberty | Ellison | t | f Aladdin | Haney | t | f Tashya | Michael | t | f Lucian | Montgomery | t | f (10 rows)

此示例从 USERS 表中选择不清楚是否喜欢摇滚音乐的用户:

Copy
select firstname, lastname, likerock from users where likerock is unknown order by userid limit 10; firstname | lastname | likerock ----------+----------+---------- Rafael | Taylor | Vladimir | Humphrey | Barry | Roy | Tamekah | Juarez | Mufutau | Watkins | Naida | Calderon | Anika | Huff | Bruce | Beck | Mallory | Farrell | Scarlett | Mayer | (10 rows)

本页内容: