select
t.stratdate,/*原始时间*/
t.newstratdate,/*加8小时后的时间*/
t.finishdate,
FLOOR(TIMESTAMPDIFF(MINUTE,t.newstratdate,t.finishdate)/1440) as day_num,/*天数*/
floor(((TIMESTAMPDIFF(MINUTE,t.newstratdate,t.finishdate))-(FLOOR(TIMESTAMPDIFF(MINUTE,t.newstratdate,t.finishdate)/1440))*1440)/60) as m_num,/*小时*/
TIMESTAMPDIFF(MINUTE,t.newstratdate,t.finishdate)-(FLOOR(TIMESTAMPDIFF(MINUTE,t.newstratdate,t.finishdate)/1440)*1440)-(floor(((TIMESTAMPDIFF(MINUTE,t.newstratdate,t.finishdate))-(FLOOR(TIMESTAMPDIFF(MINUTE,t.newstratdate,t.finishdate)/1440))*1440)/60)*60) as hh_num
from (
select
DATE_FORMAT('2021-12-05 13:15:20.029000','%Y-%m-%d %H:%i:%S') as stratdate,
DATE_ADD('2021-12-05 13:15:20.029000', INTERVAL 8 HOUR) as newstratdate,/*加8个小时*/
DATE_FORMAT('2021-12-08 18:25:25.029000','%Y-%m-%d %H:%i:%S') as finishdate
) t