我在一个表中有一个列,它可能包含空值或空值。我如何检查一个列是否为空或空的行中存在的表?
(e.g. null or '' or ' ' or ' ' and ...)
我在一个表中有一个列,它可能包含空值或空值。我如何检查一个列是否为空或空的行中存在的表?
(e.g. null or '' or ' ' or ' ' and ...)
当前回答
如果数据类型为字符串且行为空,请尝试此操作
SELECT * FROM table WHERE column_name IS NULL OR column_name = ''
如果数据类型为int或列为0,则尝试此操作
SELECT * FROM table WHERE column_name > = 0
其他回答
你也可以
SELECT * FROM table WHERE column_name LIKE ''
逆存在
SELECT * FROM table WHERE column_name NOT LIKE ''
如果数据类型为字符串且行为空,请尝试此操作
SELECT * FROM table WHERE column_name IS NULL OR column_name = ''
如果数据类型为int或列为0,则尝试此操作
SELECT * FROM table WHERE column_name > = 0
写条件的一种更简短的方法:
WHERE some_col > ''
因为null > "会产生unknown,所以它会过滤掉空字符串和空字符串。
获取包含NULL, 0, ", '', ''的行
SELECT * FROM table WHERE some_col IS NOT TRUE;
获取没有NULL, 0, ", '', ''的行
SELECT * FROM table WHERE some_col IS TRUE;
如果你想在做ORDER BY时最后呈现NULL值,试试这个:
SELECT * FROM my_table WHERE NULLIF(some_col, '') IS NULL;