如何从列表为NULL的MySQL表中选择数据

时间:2013-01-11 14:14:20

标签: mysql sql select

我希望以下代码向我展示表中交换列为空但结果集显示0行的所有记录。知道为什么吗?

SELECT * FROM pubco WHERE exchange IS NULL;

4 个答案:

答案 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,'')='';

它会改善您的效果