返回查询where字段为null

时间:2009-04-20 10:15:33

标签: sql mysql

我正在尝试对我的表使用以下查询:

SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME, date_format(str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), '%d %m %Y' ) AS shortDate FROM AUCTIONS WHERE upper(ARTICLE_NAME) LIKE '%hardy%' and subcat = 'null' ORDER BY str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), article_no limit 0, 10

这应该返回超过100条记录。默认情况下,subcat为null。我是否错误地标记了null,或者是否有不同的方法来返回列为空的记录?

2 个答案:

答案 0 :(得分:0)

使用

subcat IS NULL

除此之外,我想你想用:

lower(ARTICLE_NAME) LIKE '%hardy%'

因为你在类似的字符串中使用小写。

答案 1 :(得分:0)

查询应如下所示:

SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME, date_format(str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), '%d %m %Y' ) AS shortDate 
FROM AUCTIONS
WHERE upper(ARTICLE_NAME) LIKE '%hardy%' and subcat IS NULL
ORDER BY str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), article_no limit 0, 10

请注意WHERE子句中的 subcat IS NULL