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'。 –