我有一个包含两列{,1}}和startDate
的数据库表。
我正在尝试选择今天没有日期范围的日期范围。无法弄清楚该怎么做
endDate
我知道上面的SELECT startDate, endDate
FROM table
WHERE now() NOT BETWEEN startDate AND endDate
语法是完全错误的,但我将其包含在内,这样您就可以了解我正在尝试做什么。
答案 0 :(得分:0)
可能无法按要求运作,因为我对开始和结束日期的严格程度并不是百分之百确定
SELECT startDate, endDate
FROM myTable
WHERE startDate > CURDATE() OR endDate < CURDATE()
或者尝试将CURDATE放入您的orignal帖子而不是NOW
答案 1 :(得分:0)
如果您的意思是不包含当前日期和时间,那么您的查询是100%正确的,除了table
需要围绕它进行反引号。
如果你的字面意思是日期,而不是日期时间,
SELECT startDate, endDate
FROM `table`
WHERE CURDATE() + 1<= startDate OR CURDATE() > endDate
此查询将排除包含今天任何部分的任何范围。