Mysql日期查询查找当前是否在两个日期之内?

时间:2010-01-19 15:42:52

标签: mysql date

在我的表中,我有两个字段:start_date和end_date。我只是想检索当前日期在开始日期和结束日期之间的行。出于某种原因,我得到这个。我曾经尝试过使用过,但我一直都是空集,即使我知道有记录存在......我不认为我在想这个......任何人都知道怎么做?

2 个答案:

答案 0 :(得分:3)

SELECT  *
FROM    mytable
WHERE   SYSDATE() BETWEEN start_date AND end_date

确保您的start_dateend_dateDATEDATETIME,而不是VARCHAR

答案 1 :(得分:0)

这是另一种不使用BETWEEN的方法:

WHERE @date >= start_date AND @date <= end_date

它应该是等同的。

另请注意,您真正想要的通常是半开的间隔:

WHERE @date >= start_date AND @date < end_date

如果您正在进行分页,则使用半开时间间隔可避免在下一个开头的一页末尾重复值。你无法用BETWEEN语法表达这一点。