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

标签 sql sql-server tsql sql-server-2017

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

最佳答案

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

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而不是 % .

关于SQL 将毫秒转换为天、小时、分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45146804/

相关文章:

java - 如何在 Java 中比较 SQL 语句的功能相等?

sql - 在SQL Server中创建临时表是否需要使用#?

PHP在sql查询中默认时区

sql-server - SQL Server 可以同步实时数据库和创建脚本来制作更新脚本吗?

sql - 找到最近目的地的最快方法

SQL:何时以及为什么允许两个 on 条件?

sql-server - SQL 注入(inject) : isn't replace ("' ", "' '") 足够好了吗?

sql - SQL 中 GROUP BY 子句的变体使用

mysql - 查询花费太多时间

sql-server - Linux 上的 SQL Server : Data source name not found