MySQL convert timediff output to day, hour, minute, second format

后端 未结 5 1763
你的背包
你的背包 2020-11-30 06:39

This is my query:

SELECT TIMEDIFF(end_time,start_time) AS \"total\" FROM `metrics`;

which gives me:

116:12:10
5条回答
  •  既然无缘
    2020-11-30 07:30

    Try

    SELECT @s:='2016-03-01' started, @e:= '2018-04-21' ended, 
    FLOOR((@ms:=TIMESTAMPDIFF(MONTH,@s,@e))/12) yrs, (@ms%12) mns, 
    @d:=TIMESTAMPDIFF(DAY,@s:=DATE_ADD(@s,INTERVAL @ms MONTH), @e) dys,
    @hr:=TIMESTAMPDIFF(HOUR,@s:=DATE_ADD(@s, INTERVAL @d DAY),@e) hrs,
    TIMESTAMPDIFF(MINUTE,TIMESTAMPADD(HOUR,@hr,@s),@e) mins;
    

    This will give you a breakdown from year, month, day, hour and minutes between two dates.

    Hope it assists someone.

提交回复
热议问题