以MySQL为单位,每隔n小时获取订单

我们从用户那里收集订单,并在订单交付/取消之前给他们3天的支付窗口。我们希望每隔8小时向他们发送通知,提醒他们付款。我们使用每小时一次的cron发送通知。

我们如何获得在第8/16/24等小时创建的所有订单?我们尝试了以下查询(简化)

SELECT * FROM t_orders where o_created > '2021-05-01 11:11:11' AND MOD( CEIL(('2021-05-02 12:12:12' - CAST(o_created AS DATETIME))/3600), 8 ) = 0

其中o_created是varchar字段(遗憾的是),2021-05-01 11:11:11是日期之前的3天(我们接受3天的付款),2021-05-02 12:12:12是当前日期时间。两个datetime都是从php开始的,所以计算是没有问题的。

但它似乎不起作用。我们将在3天内收到所有订单。

转载请注明出处:http://www.66758680.com/article/20230526/2503226.html