我在一个表中有一个列,它可能包含空值或空值。我如何检查一个列是否为空或空的行中存在的表?
(e.g. null or '' or ' ' or ' ' and ...)
我在一个表中有一个列,它可能包含空值或空值。我如何检查一个列是否为空或空的行中存在的表?
(e.g. null or '' or ' ' or ' ' and ...)
当前回答
SELECT column_name FROM table_name WHERE column_name IN (NULL, '')
其他回答
try
SELECT 0 IS NULL , '' IS NULL , NULL IS NULL
-> 0, 0, 1
or
SELECT ISNULL(' ') , ISNULL( NULL )
-> 0 ,1
参考
你也可以
SELECT * FROM table WHERE column_name LIKE ''
逆存在
SELECT * FROM table WHERE column_name NOT LIKE ''
如果你想在做ORDER BY时最后呈现NULL值,试试这个:
SELECT * FROM my_table WHERE NULLIF(some_col, '') IS NULL;
写条件的一种更简短的方法:
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