我有一个表格,其中某些行有一些空白单元格
。我尝试使用 IS NULL 函数选择此类行。但查询选择了 0 行。
select * from zzz_fkp_registration_female where fname is null;
(0 row(s) affected)
现在我将查询更改为:
select * from zzz_fkp_registration_female where fname is null or fname ='';
我得到了想要的结果。
为什么 IS NULL 没有给出结果?由于单元格为空,IS NULL
和 ''
之间有什么区别。请解释一下。
最佳答案
它们之间的一些区别:
NULL
可以分配给任何类型,而不是与日期/数字字段不兼容的空字符串。NULL
是一个未知值,它没有值,而不是空字符串,空字符串是一个值,但是是空的。- 据我所知,
NULL
不应该捕获内存,而空字符串则可以捕获内存。 null = null
将导致null
,而''=''
将导致TRUE
>.
关于sql - 空字符串与NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40651685/