条件不起作用的NULL值

时间:2015-05-15 12:07:46

标签: mysql sql select null

我在MySQL查询中遇到了一个奇怪的问题。以下查询返回0结果,但有许多行应返回。查询是

SELECT DISTINCT SKU, EAN, URL, CID 
  FROM tab_comp_data 
 WHERE status =''

在许多行中,STATUS列中有NULL值,但它不返回任何行。

我已尝试过其他方式。

SELECT DISTINCT SKU, EAN, URL, CID 
  FROM tab_comp_data 
 WHERE status <>'INACT'

这也让我没有任何行。

P.S。 STATUS列只能是NULL'INACT'

5 个答案:

答案 0 :(得分:1)

如果status的值为null,则必须使用is null。这与=''

不同
select DISTINCT SKU, EAN, URL, CID from tab_comp_data WHERE status is null

答案 1 :(得分:1)

null不是一个价值 - 它缺乏价值。因此,无法使用相等(=)或不等(<>)运算符进行求值。相反,应使用is运算符明确检查:

SELECT DISTINCT sku, ean, url, cid 
FROM   tab_comp_data 
WHERE  status IS NULL

答案 2 :(得分:1)

我想查询NULL值,您应该使用IS NULL运算符。

因此,您的查询应如下所示:

SELECT DISTINCT SKU, EAN, URL, CID 
  FROM tab_comp_data
 WHERE status IS NULL

答案 3 :(得分:0)

尝试使用is NULL

select DISTINCT SKU, EAN, URL, CID from tab_comp_data WHERE status is NULL

答案 4 :(得分:0)

SELECT DISTINCT SKU, EAN, URL, CID 
  FROM tab_comp_data 
 WHERE status IS NULL

使用为空,而不是=''