我可以知道Postgres中''
和NULL
之间的区别吗?
我的列类型设置为character varying (255)
在我的表中,列字段设置为''和NULL。
记录如下:
|Name |Mobile|
|James| '' |
|John | |
但是当我选择查询时:
Select Name from user where Mobile ='';
Select Name from user where Mobile is null;
两个人都给我不同的结果。
感谢是否有人能够帮助和协助此事。
由于
答案 0 :(得分:3)
NULL
用于表示缺失值''
是一个对应于空字符串的值我建议在\pset null '(null)'
上添加.psqlrc
。然后,
SELECT Name, Mobile from user
将返回
|Name |Mobile|
|James| |
|John |(null)|
在命令行上使用postgres时,可以更容易区分空字符串和缺失值。
答案 1 :(得分:0)
你甚至不能这样做:
Select Name from user where Mobile = null
因为NULL不等于“NULL”。 (null值表示未知值,并且不知道两个未知值是否相等。)此行为符合SQL标准。