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

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

当前回答

写条件的一种更简短的方法:

WHERE some_col > ''

因为null > "会产生unknown,所以它会过滤掉空字符串和空字符串。

其他回答

如果数据类型为字符串且行为空,请尝试此操作

SELECT * FROM table WHERE column_name IS NULL OR column_name = ''

如果数据类型为int或列为0,则尝试此操作

SELECT * FROM table WHERE column_name > = 0

如果你想在做ORDER BY时最后呈现NULL值,试试这个:

SELECT * FROM my_table WHERE NULLIF(some_col, '') IS NULL;

下面的SQL查询工作正常。

SELECT * FROM <table-name> WHERE <column-name> IS NULL;
SELECT * FROM tbl WHERE trim(IFNULL(col,'')) <> '';

try

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

-> 0, 0, 1

or

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

参考