我在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'
答案 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
使用为空,而不是=''