我在一个表中有一个列,它可能包含空值或空值。我如何检查一个列是否为空或空的行中存在的表?
(e.g. null or '' or ' ' or ' ' and ...)
我在一个表中有一个列,它可能包含空值或空值。我如何检查一个列是否为空或空的行中存在的表?
(e.g. null or '' or ' ' or ' ' and ...)
当前回答
另一种方法没有WHERE,试试这个..
将选择空值和空值
SELECT ISNULL(NULLIF(fieldname,'')) FROM tablename
其他回答
检查空值
$column is null
isnull($column)
检查是否为空
$column != ""
但是,你应该总是为列设置NOT NULL, mysql优化只能处理一个IS NULL级别
try
SELECT 0 IS NULL , '' IS NULL , NULL IS NULL
-> 0, 0, 1
or
SELECT ISNULL(' ') , ISNULL( NULL )
-> 0 ,1
参考
要么
SELECT IF(field1 IS NULL or field1 = '', 'empty', field1) as field1 from tablename
or
SELECT case when field1 IS NULL or field1 = ''
then 'empty'
else field1
end as field1 from tablename
另一种方法没有WHERE,试试这个..
将选择空值和空值
SELECT ISNULL(NULLIF(fieldname,'')) FROM tablename
在我的例子中,在数据导入期间在列中输入了空格,尽管它看起来像一个空列,但它的长度是1。所以首先我用length(column)检查了空列的长度,然后在此基础上我们可以编写搜索查询
SELECT * FROM table WHERE LENGTH(column)= 0;