SQL 将毫秒转换为天、小时、分钟

新手上路,请多包涵

我需要将毫秒值 85605304.3587 转换为 0d 18h 21m 之类的值。不知道如何开始,是否有类似于 SQL 中的 TimeSpan 的东西,就像 C# 中的一样?

原文由 sd_dracula 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
1 个回答

您可以明确地进行计算。我觉得是这样的:

 select floor(msvalue / (1000 * 60 * 60 * 24)) as days,
       floor(msvalue / (1000 * 60 * 60)) % 24 as hours,
       floor(msvalue / (1000 * 60)) % 60 as minutes

注意:一些数据库使用 mod 而不是 %

原文由 Gordon Linoff 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进