create table test(name varchar(32));
pg2=# insert into test values('');
INSERT 0 1
pg2=# insert into test values(' ');
INSERT 0 1
pg2=# insert into test values(null);
INSERT 0 1
pg2=# select * from test;
name
------
(3 rows)
pg2=# select * from test where name is null;
name
------
(1 row)
pg2=# select * from test where name='';
name
------
(1 row)
pg2=# select * from test where name=' ';
name
------
(1 row)
pg2=# insert into test values('');
INSERT 0 1
pg2=# insert into test values(' ');
INSERT 0 1
pg2=# insert into test values(null);
INSERT 0 1
pg2=# select * from test;
name
------
(3 rows)
pg2=# select * from test where name is null;
name
------
(1 row)
pg2=# select * from test where name='';
name
------
(1 row)
pg2=# select * from test where name=' ';
name
------
(1 row)
本文通过PostgreSQL数据库演示了如何创建表并插入空字符串与NULL值,对比了两者在查询时的区别,发现空字符串与NULL在插入时都被计为一行,但在查询时通过条件筛选会表现出不同。

198

被折叠的 条评论
为什么被折叠?



