
布尔类型
| 数据类型 | 别名 | 说明 |
|---|---|---|
| boolean | bool | 逻辑布尔值(真/假) |
boolean的值要么是true(真),要么是false(假),如果是unknown(未知)状态,用NULL表示。boolean在SQL中可以用不带引号的TRUE或FALSE表示,也可以用其他表示“真”和“假”的带引号字符表示,如’true’、‘false’、‘yes’、‘no’,等等。

CREATE TABLE demobool (id int, col1 boolean, col2 text);
INSERT INTO demobool VALUES (1,TRUE, 'TRUE');
INSERT INTO demobool VALUES (2,FALSE, 'FALSE');
INSERT INTO demobool VALUES (3,tRue, 'tRue');
INSERT INTO demobool VALUES (4,fAlse, 'fAlse');
INSERT INTO demobool VALUES (5,'tRuE', '''tRuE''');
INSERT INTO demobool VALUES (6,'fALsE', '''fALsE''');
INSERT INTO demobool VALUES (7,'true', '''true''');
INSERT INTO demobool VALUES (8,'false', '''false''');
INSERT INTO demobool VALUES (9,'t', '''t''');
INSERT INTO demobool VALUES (10,'f', '''f''');
INSERT INTO demobool VALUES (11,'y', '''y''');
INSERT INTO demobool VALUES (12,'n', '''n''');
INSERT INTO demobool VALUES (13,'yes', '''yes''');
INSERT INTO demobool VALUES (14,'no', '''no''');
INSERT INTO demobool VALUES (15,'1', '''1''');
INSERT INTO demobool VALUES (16,'0', '''0''');
select * from demobool;
select * from demobool where col1;


CREATE TABLE test_bool (flag boolean, remark text);
insert into test_bool (flag, remark) values ('t', 'True'), ('f', 'False');
select * from test_bool where flag IS TRUE;
select * from test_bool where flag IS FALSE;
select * from test_bool where flag;

| 真 | 假 | 备注 |
|---|---|---|
| ‘TRUE’ | ‘FALSE’ | |
| tRue | fAlse | |
| ‘tRue’ | ‘fAlse’ | 不分大小写 |
| ‘t’ | ‘f’ | 单一字符表示 |
| ‘yes’ | ‘no’ | 英文的是和否表示 |
| ‘y’ | ‘n’ | yes和no的简写表示 |
| ‘1’ | ‘0’ | 1表示true,0表示false |
- 布尔类型的操作符
- 逻辑操作符:AND、OR、NOT
- SQL标准使用三种值的布尔逻辑:TRUE、FALSE和NULL,NULL代表unknown。
- 布尔的 AND、OR 逻辑运算
| a | b | a AND b | a OR b |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE | TRUE |
| TRUE | NULL | NULL | TRUE |
| FALSE | FALSE | FALSE | FALSE |
| FALSE | NULL | FALSE | NULL |
| NULL | NULL | NULL | NULL |
- 布尔的 NOT 运算
| a | NOT a |
|---|---|
| TRUE | FALSE |
| FALSE | TRUE |
| NULL | NULL |

货币类型
货币类型可以存储固定小数的货币数目,与浮点数不同,它是保证精度的。其输出格式与参数lc_monetary的设置有关,不同的国家其货币输出格式也不相同。
| 数据类型 | 别名 | 说明 |
|---|---|---|
| charmoney | 占用8字节空间来存储数据 表示的范围为-92233720368547758.08到+92233720368547758.07 |
SELECT '12.34'::money;
show lc_monetary;
set lc_monetary = 'en_US.UTF-8';
SELECT '12.34'::money;

最后修改时间:2023-12-07 09:16:21
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




