Postgre SQL   发布时间:2022-05-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PostgreSQL学习篇9.1 布尔类型大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Boolean的状态要么是true要么是false,如果是unknown,用NulL表示。
Boolean在sql中可以用不带引号的TRUE和falSE表示,也可以用更多的表示真假的带引号的字符表示,如'true','false','yes','no','1','0'等
测试:
test=# create table t (ID int,nan boolean,note text);
CREATE table
test=# insert into t values(1,TRUE,'TRUE');
INSERT 0 1
test=# insert into t values(2,falSE,'falSE');
INSERT 0 1
test=# insert into t values(3,tRue,'tRue');
INSERT 0 1
test=# insert into t values(4,false,'false');
INSERT 0 1
test=# insert into t values(5,'tRuE','tRuE');
test=# delete from t where ID=5;
deletE 1
test=# insert into t values(5,'''tRuE''');
INSERT 0 1
test=# insert into t values(6,'falsE','''falsE''');
INSERT 0 1
test=# insert into t values(7,'t','''t''');
INSERT 0 1
test=# insert into t values(8,'f','''f''');
INSERT 0 1
test=# insert into t values(9,'''yes''');
INSERT 0 1
test=# insert into t values(10,'0','''0''');
INSERT 0 1
test=# SELEct * FROM t;
 ID | nan |  note   
----+-----+---------
  1 | t   | TRUE
  2 | f   | falSE
  3 | t   | tRue
  4 | f   | false
  5 | t   | 'tRuE'
  6 | f   | 'falsE'
  7 | t   | 't'
  8 | f   | 'f'
  9 | t   | 'yes'
 10 | f   | '0'
(10 rows)
test=# insert into t values(11,'','''''');       ---与Oracle不同oracle没有Boolean数据类型。。。
ERROR:  invalID input Syntax for type Boolean: ""
liNE 1: insert into t values(11,'''''');
                                ^
test=# insert into t values(11,null,'null');
INSERT 0 1
test=# SELEct * FROM t;
 ID | nan |  note   
----+-----+---------
  1 | t   | TRUE
  2 | f   | falSE
  3 | t   | tRue
  4 | f   | false
  5 | t   | 'tRuE'
  6 | f   | 'falsE'
  7 | t   | 't'
  8 | f   | 'f'
  9 | t   | 'yes'
 10 | f   | '0'
 11 |     | null
(11 rows)

test=# insert into t values(11,NulL,'NulL');
INSERT 0 1
test=# SELEct * FROM t;
 ID | nan |  note   
----+-----+---------
  1 | t   | TRUE
  2 | f   | falSE
  3 | t   | tRue
  4 | f   | false
  5 | t   | 'tRuE'
  6 | f   | 'falsE'
  7 | t   | 't'
  8 | f   | 'f'
  9 | t   | 'yes'
 10 | f   | '0'
 11 |     | null    ---注意null在表中存的为空值,并非null这个单词,因为,如果这个单词本身是4个字母的单词。
 11 |     | NulL
(12 rows)
test=# SELEct * FROM t where nan='t';
 ID | nan |  note 
----+-----+--------
  1 | t   | TRUE
  3 | t   | tRue
  5 | t   | 'tRuE'
  7 | t   | 't'
  9 | t   | 'yes'
(5 rows)

test=# SELEct * FROM t where nan;    --挺神奇的查询方式
 ID | nan |  note 
----+-----+--------
  1 | t   | TRUE
  3 | t   | tRue
  5 | t   | 'tRuE'
  7 | t   | 't'
  9 | t   | 'yes'
(5 rows)
test=# SELEct * FROM t where nan<>'t';
 ID | nan |  note   
----+-----+---------
  2 | f   | falSE
  4 | f   | false
  6 | f   | 'falsE'
  8 | f   | 'f'
 10 | f   | '0'
(5 rows)

test=# SELEct * FROM t where not nan;
 ID | nan |  note   
----+-----+---------
  2 | f   | falSE
  4 | f   | false
  6 | f   | 'falsE'
  8 | f   | 'f'
 10 | f   | '0'
(5 rows)
test=# SELEct * FROM t where nan is null;
 ID | nan | note
----+-----+------
 11 |     | null
 11 |     | NulL
(2 rows)

test=# SELEct * FROM t where nan is unkNown;   ---神奇
 ID | nan | note
----+-----+------
 11 |     | null
 11 |     | NulL
(2 rows)

test=# SELEct * FROM t where nan is not null;
 ID | nan |  note   
----+-----+---------
  1 | t   | TRUE
  2 | f   | falSE
  3 | t   | tRue
  4 | f   | false
  5 | t   | 'tRuE'
  6 | f   | 'falsE'
  7 | t   | 't'
  8 | f   | 'f'
  9 | t   | 'yes'
 10 | f   | '0'
(10 rows)

布尔类型的操作符:逻辑操作符和比较操作符
逻辑操作符:and,or,not
需要注意的是:false and null结果为false
比较运算符:is
is true
is false
is not true
is not false
is unkNown
is not unkNown
is null
is not null

大佬总结

以上是大佬教程为你收集整理的PostgreSQL学习篇9.1 布尔类型全部内容,希望文章能够帮你解决PostgreSQL学习篇9.1 布尔类型所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。