2011-01-06 202 views
4

我想知道是否有方法在MySQL 4.1+中查詢我的記錄中日期範圍之間的特定日期?日期之間的MySQL日期

對於一個簡單的例子,我有兩個記錄,日期時間範圍,像

ID | Activity | Start Date   | End Date 

1  Closed  1/1/11 11:00:00  1/4/11 11:00:00 

2  Open   1/15/11 10:00:00  1/19/11 09:00:00 

我想知道的是,有沒有辦法,我可以得到「開始日期」和「結束的日期日期「爲每個這些記錄?像這樣:

11年1月2日,11年1月3日

而且

11年1月16日,11年1月17日,11年1月18日

或者在至少有一種方法可以接近並使用PHP來完成剩下的工作?謝謝!

+0

還有第二個teable? – Diablo 2011-01-06 22:33:24

+0

你想和日期做什麼?在它們之間獲取記錄,或僅在開始和結束之間記錄日期? – 2011-01-06 22:40:33

回答

0

約旦,

這不是與MySQL 4.直接可能的,我覺得這個邏輯不應該把你的數據庫層。

然而,有關StackOverflow的問題涉及到你的問題,解決方案是一個存儲過程(但你需要MySQL 5)。在這裏查看:Get a list of dates between two dates

我發現了一個沒有準備好使用,但明智的做法,在PHP中你的問題在這個網頁: http://prajapatinilesh.wordpress.com/2009/05/07/get-all-dates-between-two-dates-using-php-code/

希望這可以幫助您在正確的方向。

1

這可能唯一您的問題:

SELECT * FROM `your_table` WHERE start_date > '2011-01-01' AND end_date < '2011-01-04' 
0

我已經在我自己的mysql查詢中實現了這一點。

SELECT id FROM table WHERE some_date BETWEEN start_date AND end_date