在为小型预订系统制作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。
答案 0 :(得分:1)
SELECT *
FROM yourTable
WHERE DateFrom > @rangeEnd OR DateTo < @rangeBegin
答案 1 :(得分:0)
我遇到了类似的问题。我解决了使用这种类型的查询。
SELECT * FROM yourTable WHERE (@rangeBegin <= DateFrom OR @rangeEnd >= DateTo) AND (@rangeBegin between DateFrom AND DateTo OR @rangeEnd between DateFrom AND DateTo)