我们从用户那里收集订单,并在订单交付/取消之前给他们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