-2

我需要这样的MYSQL。

记录 :

start_date |  to_date
2013-01-01 | 2013-12-31
2013-02-01 | 2013-05-04
2013-01-30 | 2013-04-02
2013-04-30 | 2013-07-06
2013-06-30 | 2013-06-09
2013-08-30 | 2013-10-03

我的输入是 from_date 2013-04-01 和 to_date 2013-06-10

我的输出应该是这样的:

start_date | to_date
2013-01-01 | 2013-12-31
2013-02-01 | 2013-05-04
2013-01-30 | 2013-04-02
2013-04-30 | 2013-07-06
2013-06-30 | 2013-06-09

任何人都可以帮助解决这个问题。

4

1 回答 1

1

似乎您想找到与给定范围重叠的范围;

SELECT * FROM date_table 
WHERE start_date < '2013-06-10'
  AND to_date   > '2013-04-01'

也就是说,您将 from_date 与 column 进行比较to_date,将 to_date 与 column进行比较start_date

一个用于测试的 SQLfiddle

于 2013-04-10T12:18:09.327 回答