在做交易项目的时候需要一个定时补偿来把交易异常失败但是能继续跑的交易继续跑下去,要求是5分钟跑一次程序,逻辑比较简单,就贴一个查询语句吧

SELECT  * FROM 表名 t WHERE 条件一 
AND 条件二
AND t.时间 <= CONCAT(date_format(DATE_SUB(NOW(), INTERVAL 5 MINUTE),'%Y%m%d%H%i%S'),'000')
LIMIT 0, 1000  ORDER BY t.时间 DESC

这里我们的时间是yyyyMMddHHmmssSSS的字符串格式
如果是日期格式就可以把转字符串的去掉
如下:

SELECT  * FROM 表名 t WHERE 条件一 
AND 条件二
AND t.时间 <= DATE_SUB(NOW(), INTERVAL 5 MINUTE)
LIMIT 0, 1000  ORDER BY t.时间 DESC


Logo

更多推荐