2013-04-10 110 views
-2

我需要這樣的MYSQL。兩個日期之間的輸出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年4月1日和TO_DATE 2013年6月10日

我出去放shuld是這樣的:

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 

可以在任何對此有一個幫助。

+2

我是否愚蠢地看到背後的想法「應該是這樣的」?你分組/過濾的是什麼? – Najzero 2013-04-10 12:14:26

+0

我的猜測:用戶輸入日期範圍(from_date到to_date)。只要這個日期範圍與db中的一個範圍重疊,就應該從db輸出範圍。對? – 2013-04-10 12:17:01

+0

是@MartyMcVry – 2013-04-10 12:33:52

回答

1

似乎你想找到與給定範圍重疊的範圍;

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

也就是說,你與列to_date和你TO_DATE與列start_date比較你FROM_DATE。

An SQLfiddle to test with

+0

lsaksson但林沒有得到任何超出此查詢SELECT * FROM date_table WHERE起始日期<「2013-01-01」 到TO_DATE>「2013年4月1日」 – 2013-04-10 12:32:05

+1

@BashaGhouse請參見日期的順序在我的查詢中,後面的日期出現在第一個條件中。 – 2013-04-10 12:41:26

+0

gr8 ....謝謝。 – 2013-04-10 13:27:08

相關問題