0
我有一個products
表,其中包含expiry_date (VARCHAR)
。如何選擇3個月後即將到期的產品,並使用PHP顯示在桌面上?從表中選擇記錄,日期從現在起3個月
編輯:EXPIRY_DATE格式是2017年1月1日(Y-M-d)
我有一個products
表,其中包含expiry_date (VARCHAR)
。如何選擇3個月後即將到期的產品,並使用PHP顯示在桌面上?從表中選擇記錄,日期從現在起3個月
編輯:EXPIRY_DATE格式是2017年1月1日(Y-M-d)
更好的選擇是使用日期和時間函數在MySQL,而不是使VARCHAR日期東西。可以使用DATE_ADD
和BETWEEN
。
使用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)
'EXPIRY_DATE(VARCHAR)'這是一個壞主意。您應該使用mysql的內置日期/時間函數 –
@ Fred-ii-我是SQL新手,感謝您的建議! – Odie
不客氣。它在很多方面都更好,因爲使用varchar使查詢變得更加困難,而且您必須訴諸其他函數。如果外部數據來自其他地方的其他格式,則在數據庫進入數據庫之前將其轉換比較容易,從mysql-d喜歡的'd-m-Y'到'YYYY-mm-dd'。 –