如何在两个日期之间显示一个sql语句?

时间:2015-09-04 20:36:12

标签: mysql date compare

我的表news包含属性display_start_datedisplay_end_date

所以我想说我希望圣诞节文章从十月十日开始到十二月二十五日结束,这就是我试图做的事情:

SELECT * 
FROM news 
WHERE display_start_date BETWEEN display_start_date AND display_end_date   
  AND display_end_date > NOW() 
ORDER BY display_start_date DESC 
LIMIT $max;

2 个答案:

答案 0 :(得分:1)

SELECT * FROM news 
WHERE now() BETWEEN display_start_date AND display_end_date 
ORDER BY display_start_date DESC 
LIMIT $max

答案 1 :(得分:0)

假设你想要在2015-11-15 13:00:00和2015-11-20 13:00:00之间找到文章,那你就像:

SELECT * FROM news 
WHERE display_start_date BETWEEN ' 2015-11-15 13:00:00' AND  '2015-11-20 13:00:00'
AND display_end_date > NOW() 
ORDER BY display_start_date DESC LIMIT $max"; 

你应该提供BETWEEN参数中的内容。因为display_start_date和display_end_date是AFAIU表中的字段。

数据库自动将字符串转换为日期