2014-05-13 36 views
0

所以我在那裏約會被格式化爲這樣的(PHP語法)的表(「上崗」)PHP/SQL查詢值小於N天

date = date("F j, Y") 

,這是在職位表提交的日期以及。如何通過SQL查詢獲取日期少於7天的所有帖子(即current_date - 7)?

任何幫助表示讚賞

+3

這就是爲什麼你不應該存儲您的日期作爲字符串 –

+0

我想說same..unfortunately不是我的代碼! – user1243716

+0

它吸收繼承這樣的混亂。去過也做過。不喜歡它。 –

回答

4

您需要在日期字符串轉換爲實際日期的MySQL可以工作。你可以使用STR_TO_DATE()

SELECT * 
FROM posts 
WHERE STR_TO_DATE(date_col, '%M %e, %Y') > CURRENT_DATE - INTERVAL 7 DAY 

SELECT * 
FROM posts 
WHERE STR_TO_DATE(date_col, '%M %e, %Y') > DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY) 
+1

這將會非常慢,以至於對於非平凡的數據量,列應該轉換爲適當的'DATE'並編制索引。如果無法轉換,您可以隨時添加輔助列來存儲正確的值。 – tadman