我有一个包含两列startDateendDate的数据库表。

我正在尝试选择没有今天日期的日期范围。无法弄清楚怎么做

SELECT startDate, endDate
FROM table
WHERE now() NOT BETWEEN startDate AND endDate


我知道上面的WHERE语法是完全错误的,但是我将其包括在内,这样您就可以了解我要做什么。

最佳答案

如果您的意思是不包括当前日期和时间,则您的查询是100%正确的,除了table需要带反引号。

如果您的意思是日期,而不是日期时间,

SELECT startDate, endDate
FROM `table`
WHERE CURDATE() + 1<= startDate OR CURDATE() > endDate


此查询将排除包括今天的任何部分的任何范围。

关于mysql - 选择不包括今天的日期范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19648085/

10-16 13:13
查看更多