MySQL中,查询的时候给时间加八小时,并计算两个时间相差多少

有两列数据

image.png

现在就是查询的时候,如何给stratdate这一列,在查询结果上加上八个小时

然后查询finishdate减掉startdate的时候,如果让结果变成天时分

用户yxfXp2684204 发布于 2021-12-20 17:07
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-12-20 17:09
最佳回答
0
CD20160914Lv8专家互助
发布于2021-12-21 08:55

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

  • 2关注人数
  • 412浏览人数
  • 最后回答于:2021-12-21 08:55
    请选择关闭问题的原因
    确定 取消
    返回顶部