0

我有一个包含两列的数据库表,startDate并且endDate.

我正在尝试选择其中没有今天日期的日期范围。不知道该怎么做

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

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

4

2 回答 2

0

可能无法按要求工作,因为我不能 100% 确定您的开始和结束日期的严格性

SELECT startDate, endDate 
FROM myTable
WHERE startDate > CURDATE() OR endDate < CURDATE()

或者尝试将 CURDATE 放入您的原始帖子而不是现在

于 2013-10-29T01:30:13.100 回答
0

如果您的意思是不包括当前日期和时间,那么您的查询是 100% 正确的,只是table需要在其周围加上反引号。

如果你的字面意思是日期,而不是日期时间,

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

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

于 2013-10-29T01:32:40.230 回答