postgresql与Oracle:空字符串与null

来源:互联网 发布:投行工作做什么 知乎 编辑:程序博客网 时间:2024/05/21 08:37
空字符串:两个单引号,中间无空格等任何内容在postgresql中,空字符串与null是不同的;而oracle中,空字符串与null等同。测试如下:postgresql中:postgres=# insert into testnull values(1,'feikong');INSERT 0 1postgres=# insert into testnull values(2,null);INSERT 0 1postgres=# insert into testnull values(3,'');INSERT 0 1postgres=#  select * from testnull; id |  name   ----+---------  1 | feikong  2 |  3 |(3 rows)postgres=# select * from testnull where name is null;     ---只有2为null id | name----+------  2 |(1 row)postgres=# select * from testnull where name is  not null; id |  name   ----+---------  1 | feikong  3 |(2 rows)Oracle中:SQL> insert into testnull values(1,'feikong');1 row insertedSQL> insert into testnull values(2,null);1 row insertedSQL> insert into testnull values(3,'');1 row insertedSQL> commit;Commit completeSQL> select * from testnull;        ID NAME---------- ----------         1 feikong         2         3SQL> select * from testnull where name is null;   --2,3为null        ID NAME---------- ----------         2         3SQL> select * from testnull where name is  not null;        ID NAME---------- ----------         1 feikong


BY   丹心明月

原创粉丝点击