我有一个包含两列的数据库表,startDate
和 endDate
。
我正在尝试选择没有今天日期的日期范围。不知道该怎么做
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
此查询将排除包含今天任何部分的任何范围。
可能无法
按要求工作,因为我不能 100% 确定您的开始和结束日期的严格性
SELECT startDate, endDate
FROM myTable
WHERE startDate > CURDATE() OR endDate < CURDATE()
或者尝试将 CURDATE 放入您的原始帖子中,而不是现在