需求:
1、将操作时间与当前时间做对比,时间显示规则如下:
a、时间差≤1小时,显示“刚刚”
b、1小时<时间差≤24小时,显示“N小时前”,N代表时间数划算成小时单位的整数部分;
c、时间差>24小时,显示“N天前”,N代表时间数换算成天单位的整数部分
select
case
when TIMESTAMPDIFF(MINUTE, t1.update_date, now()) <= 60
then '刚刚'
when TIMESTAMPDIFF(MINUTE, t1.update_date, now()) <= 1440
then concat(FLOOR(TIMESTAMPDIFF(MINUTE, t1.update_date, now())/60),'小时前')
else concat(round(TIMESTAMPDIFF(HOUR, t1.update_date, now())/24),'天前')
end as timediffStr
from base_account t1
2、查询当前时间一分钟之前
select CURRENT_TIMESTAMP - INTERVAL 1 MINUTE;