2017-03-12 87 views
0

我有一個products表,其中包含expiry_date (VARCHAR)。如何選擇3個月後即將到期的產品,並使用PHP顯示在桌面上?從表中選擇記錄,日期從現在起3個月

編輯:EXPIRY_DATE格式是2017年1月1日(Y-M-d)

+2

'EXPIRY_DATE(VARCHAR)'這是一個壞主意。您應該使用mysql的內置日期/時間函數 –

+0

@ Fred-ii-我是SQL新手,感謝您的建議! – Odie

+0

不客氣。它在很多方面都更好,因爲使用varchar使查詢變得更加困難,而且您必須訴諸其他函數。如果外部數據來自其他地方的其他格式,則在數據庫進入數據庫之前將其轉換比較容易,從mysql-d喜歡的'd-m-Y'到'YYYY-mm-dd'。 –

回答

3

更好的選擇是使用日期和時間函數在MySQL,而不是使VARCHAR日期東西。可以使用DATE_ADDBETWEEN

使用STR_TO_DATE轉換日期爲varchar

SELECT * 
FROM tbl 
WHERE STR_TO_DATE(varchar_expiry_date, '%Y-%m-%d') BETWEEN now() 
        AND DATE_ADD(now(), INTERVAL 3 MONTH) 
相關問題