2015-09-05 82 views
0

表日期:SQL SELECT範圍內

id | u_id | start_date | end_date | 
------------------------------------- 
01 | 7 | 2015-05-05 | 2015-07-23 | 
02 | 4 | 2015-07-10 | 2015-07-15 | 
03 | 4 | 2015-08-27 | 2015-11-05 | 
04 | 5 | 2015-08-01 | 2015-12-09 | 

需要這些行:

03 | 4 | 2015-08-27 | 2012-11-05 | 
04 | 5 | 2015-08-01 | 2012-12-09 | 
我有查詢

輸入數據: start_date = 2015-10-01end_date = 2015-10-31

+0

挑:MySQL或SQL服務器 – amdixon

+0

這是MySQL服務器 – ptenchik0

+0

似乎是一個錯誤的預期的結果集的'end_date'值。 –

回答

2

試試這個:

SELECT id, u_id, start_date, end_date 
FROM mytable 
WHERE start_date <= @end_date AND end_date >= @start_date 

以上將返回start_date - end_date區間重疊@start_date - @end_date的所有記錄。

Demo here

+0

許多,很多thanx!似乎是真的。測試... – ptenchik0