我希望以下代码向我展示表中交换列为空但结果集显示0行的所有记录。知道为什么吗?
SELECT * FROM pubco WHERE exchange IS NULL;
答案 0 :(得分:4)
也许您已将''
解释为NULL
但不一样,但试试这个
SELECT *
FROM pubco
WHERE exchange IS NULL OR
exchange = ''
但是如果仍然没有得到该值,也许它上面有空格,所以你应该TRIM
它,
SELECT *
FROM pubco
WHERE exchange IS NULL OR
TRIM(exchange) = ''
答案 1 :(得分:0)
一个重要的评论:NULL
和''
(即空字符串)不是一回事,很可能你的列包含空字符串,所以你需要设置另一个条件:
SELECT * FROM pubco WHERE (exchange IS NULL OR exchange = '');
答案 2 :(得分:0)
你确定它们是空的吗?
也许他们的字符串值“NULL”不一样,如果你这样做会返回什么:
SELECT * FROM pubco WHERE exchange == "NULL";
答案 3 :(得分:0)
而不是使用此查询
SELECT *
FROM pubco
WHERE exchange IS NULL OR
exchange = ''
试试这个
SELECT * FROM pubco
WHERE isnull(exchange,'')='';
它会改善您的效果。