我在一个表中有一个列,它可能包含空值或空值。我如何检查一个列是否为空或空的行中存在的表?

(e.g. null or '' or '  ' or '      ' and ...)

当前回答

这将选择some_col为NULL或"(空字符串)的所有行

SELECT * FROM table WHERE some_col IS NULL OR some_col = '';

其他回答

这将选择some_col为NULL或"(空字符串)的所有行

SELECT * FROM table WHERE some_col IS NULL OR some_col = '';

检查空值

$column is null
isnull($column)

检查是否为空

$column != ""

但是,你应该总是为列设置NOT NULL, mysql优化只能处理一个IS NULL级别

获取包含NULL, 0, ", '', ''的行

    SELECT * FROM table WHERE some_col IS NOT TRUE;

获取没有NULL, 0, ", '', ''的行

    SELECT * FROM table WHERE some_col IS TRUE;

try

SELECT 0 IS NULL ,  '' IS NULL , NULL IS NULL

-> 0, 0, 1

or

SELECT ISNULL('  ') , ISNULL( NULL )
 -> 0 ,1

参考

这句话对我来说更清晰更易读:

select * from my_table where ISNULL(NULLIF(some_col, ''));