【发布时间】:2017-12-08 19:55:10
【问题描述】:
我试图以秒为单位从另一列的总和中减去一列的总和,然后将其转换为 HH:MM:SS。然而,转换要求它能够超过 24 小时,因为这是一个总时间。我的转换适用于单列没有问题,所以这显然是我试图做的方程式,但无法弄清楚如何去做。
2 列是 Dispo 和 Dead 都是 Ints。
这是我所拥有的:
CONVERT(varchar(6), SUM([Dispo])-SUM(Dead)/3600)
+ ':' + RIGHT('0' + CONVERT(varchar(2), (SUM([Dispo])-SUM(Dead)% 3600) / 60), 2)
+ ':' + RIGHT('0' + CONVERT(varchar(2), SUM([Dispo])-SUM(Dead) % 60), 2) AS [AfterCallWork],
它给我的结果是:
AfterCallWork
26809:0*:0*
我想要的结果,例如是:
AfterCallWork
35:51:09
(e.g.中的数字不一定是结果,只是格式的一个例子)
样本数据是:
UniqueID | Dead | Dispo
135151 | 20 | 200
161681 | 35 | 421
516168 | 10 | 308
此示例的预期结果为 0 小时 14 分 24 秒:
0:14:24
Dead & Dispo 是在给定状态或模式下的秒数。唯一 ID 本质上是一个呼叫标识符。
【问题讨论】:
-
那是无效的标准 SQL。您使用的是哪个 DBMS?
-
看起来像t-sql,意思是sql server。请编辑您的问题以包含一些示例数据作为 DDL+DML 和所需的结果。
-
期望的结果已经存在。还添加了一些示例数据
-
是的,但它不是您期望从样本数据中得到的。这就是我编辑你的问题的原因。 (并添加 Sql Server 标签)
标签: sql sql-server sql-server-2012 type-conversion date-conversion