MySQL检查日期范围是否在日期范围内

时间:2015-04-19 09:20:18

标签: mysql date-range

在为小型预订系统制作SQL查询时遇到问题,我有一个包含两个条目的表,其中包含两个不同的日期和一个数字。

Nr    DateFrom      DateTo
----------------------------
1    2015-01-01   2015-01-03
2    2015-01-05   2015-01-08

我想查询我可以输入两个不同日期的位置,并且只返回表格中与日期范围不相符的日期范围编号。

例如,如果我输入日期2015-01-02和2015-01-04,它将返回Nr 2和 2015-01-05和2015-01-08将返回Nr 1。

2 个答案:

答案 0 :(得分:1)

SELECT *
FROM yourTable
WHERE DateFrom > @rangeEnd OR DateTo < @rangeBegin

DEMO

答案 1 :(得分:0)

我遇到了类似的问题。我解决了使用这种类型的查询。

SELECT * FROM yourTable WHERE (@rangeBegin <= DateFrom OR @rangeEnd >= DateTo) AND (@rangeBegin between DateFrom AND DateTo OR @rangeEnd between DateFrom AND DateTo)