每日随记,mysql时间相差分钟查询
时间 2022-04-12
功能需求 超时订单状态修改,方案思路,使用springboot定时器,根据当前时间与修改时间字段进行sql判断是否时间超过72小时。
sql关键字 TIMESTAMPDIFF, DATE_FORMAT, MINUTE
-- 获取当前时间与修改时间字段差的分钟数 4320
SELECT
b.min,
b.id,
CASE
WHEN b.min >= 4320 THEN
'0' -- 失效
WHEN 2880 <= b.min < 4320 THEN
'1' -- 临期
END AS minType
FROM
(
SELECT
TIMESTAMPDIFF( MINUTE, ( DATE_FORMAT( o.update_time, '%Y-%m-%d %H:%i' )), ( DATE_FORMAT( LOCALTIME (), '%Y-%m-%d %H:%i' )) ) AS min,
o.id AS id
FROM
tablea o
) b