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