我有一个包含两列的数据库表,startDate
并且endDate
.
我正在尝试选择其中没有今天日期的日期范围。不知道该怎么做
SELECT startDate, endDate
FROM table
WHERE now() NOT BETWEEN startDate AND endDate
我知道WHERE
上面的语法是完全错误的,但我将其包括在内,这样您就可以了解我正在尝试做什么。
可能无法按要求工作,因为我不能 100% 确定您的开始和结束日期的严格性
SELECT startDate, endDate
FROM myTable
WHERE startDate > CURDATE() OR endDate < CURDATE()
或者尝试将 CURDATE 放入您的原始帖子而不是现在
如果您的意思是不包括当前日期和时间,那么您的查询是 100% 正确的,只是table
需要在其周围加上反引号。
如果你的字面意思是日期,而不是日期时间,
SELECT startDate, endDate
FROM `table`
WHERE CURDATE() + 1<= startDate OR CURDATE() > endDate
此查询将排除包含今天任何部分的任何范围。