2010-08-30 131 views
2

我需要在php中獲取'2010-04-27'這樣的日期字符串,並在表格中查找最近的5個日期。表格中的日期被保存爲日期類型。SQL最近日期

+0

這種大規模的SQL,垃圾,和「SELECT * FROM倍WHERE日期<=日期(」。$日期。 ')限制0,3 ORDER BY日期ASC「 – Will 2010-08-30 10:55:15

回答

3

可以使用DATEDIFF + ABS

SELECT ABS(DATEDIFF(myfield,'2010-04-27')) AS diff FROM mytable ORDER BY diff LIMIT 5; 
+0

我得到'不是一個有效的資源' – Will 2010-08-30 11:00:59

+0

檢查此」是不是一個有效的資源「: http://stackoverflow.com/questions/253378/nota-a- valid-mysql-resource – 2010-08-30 11:12:45

+0

這似乎並沒有填滿$行。 while($ row = mysql_fetch_array($ result)){ 陣列行不包含列數據 – Will 2010-08-30 11:28:51

2

你也可以查詢的區別如。像

ABS(DATEDIFF(日期,$日期))

然後爲了這個

+0

+1 ADAM,我忘了ABS! – 2010-08-30 11:00:52