Sql 返回字段为空的查询

Sql 返回字段为空的查询,sql,mysql,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

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

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的记录?

使用

subcat IS NULL
除此之外,我认为您希望使用:

lower(ARTICLE_NAME) LIKE '%hardy%'

因为在like字符串中使用小写。

查询应如下所示:

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子句中的子类别为NULL

Hmm,这仍然会给出一个空的结果集。请尝试删除类似的条件。如果仍然没有行,请尝试subcat=“”(空而不是空)在后一种情况下,您需要更改subcat的值(在表中)subcat=“”。这是因为字段类型是varchar吗?它是varchar,并且值为空,而不是空(这是不同的)。这仍然返回空结果集我必须使用subcat=“”。但是,我在mysql中将字段设置为null。这是因为字段类型是varchar吗?请尝试以下操作:选择文章编号、用户名、ACCESSSTARTS、文章名称、日期格式(str-to-date(ACCESSSTARTS,%d.%m.%Y%k:%i:%s')、'%d%m%Y')作为拍卖的短日期,其中文章名称如“%hardy%”和(subcat为NULL或subcat='')按str-to-date排序(ACCESSSTARTS,%d.%m.%Y%k:%i:%s'),文章\u没有限制0,10问题标题拼写错误,“重新运行”而不是“返回”