本质上,我有一个orders表,每天运行一个cronjob来检查日志并查看11个月前哪些客户订购了,因为我需要警告他们,他们的保修期将在1个月内到期。完成此查询的最佳方式是什么?
我可以做一些方法,但我感兴趣的是看到最好的方式的意见。
发布于 2015-05-18 23:09:32
SELECT *
FROM orders
WHERE order_date = CURDATE() - INTERVAL 11 MONTH
;这将发现所有具有order_date值的行都是11个月前的。
发布于 2015-05-18 23:03:25
我会使用date_add和一个月的interval,并将它与now()进行比较
SELECT *
FROM orders
WHERE DATE_ADD (order_date, INTERVAL 11 MONTH) <= NOW()发布于 2015-05-18 23:39:23
SELECT *
FROM orders
WHERE order_date = UNIX_TIMESTAMP(DATE_SUB(curdate(), INTERVAL 11 MONTH)) 我在UNIX时间戳中添加了UNIX_TIMESTAMP作为MySQL存储日期
https://stackoverflow.com/questions/30314078
复制相似问题