暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

PostgreSQL征途:数据类型之布尔类型、货币类型

0004.png

布尔类型

数据类型 别名 说明
boolean bool 逻辑布尔值(真/假)

boolean的值要么是true(真),要么是false(假),如果是unknown(未知)状态,用NULL表示。boolean在SQL中可以用不带引号的TRUE或FALSE表示,也可以用其他表示“真”和“假”的带引号字符表示,如’true’、‘false’、‘yes’、‘no’,等等。

0000.gif

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;

pg0113.png

pg0114.png

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;

pg0126.png

备注
‘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

0000.gif

货币类型

货币类型可以存储固定小数的货币数目,与浮点数不同,它是保证精度的。其输出格式与参数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;

pg0117.png

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

文章被以下合辑收录

评论