Mysql:在过去24小时内查找数据查询显示错误结果

时间:2017-02-01 11:03:10

标签: mysql

我正在执行以下查询

SELECT post_expiredate
FROM tbl_postad
WHERE post_expiredate > DATE_SUB( CURDATE( ) , INTERVAL 1 
DAY ) 
LIMIT 0 , 30

我的期望是,它应该显示post_expiredate列,其中包含过去24小时内的日期值。但它显示错误的结果

enter image description here

请帮我解决这个问题

我试过

SELECT post_expiredate
FROM tbl_postad
WHERE DATE( post_expiredate ) > DATE( DATE_SUB( CURDATE( ) , INTERVAL 1 
DAY ) ) 

也是这个

SELECT post_expiredate
FROM tbl_postad
WHERE post_expiredate > DATE_SUB( NOW( ) , INTERVAL 1 
DAY ) 

但它也显示错误的日期/

2 个答案:

答案 0 :(得分:1)

你做了

WHERE post_expiredate > DATE_SUB( NOW( ) , INTERVAL 1 
DAY ) 

这是错误的,并列出所有大于昨天的日期

您需要在昨天和今天之间找到所有帖子

SELECT post_expiredate
FROM tbl_postad
WHERE post_expiredate between   DATE_SUB( now( ) , INTERVAL 1  
DAY ) and now()

答案 1 :(得分:0)

SELECT post_expiredate
FROM tbl_postad
WHERE DATE(post_expiredate) BETWEEN CURDATE() + INTERVAL 1 DAY AND CURDATE()

此查询必须显示今天和明天之间的所有“post_expiredate”。 希望它有所帮助。