[英]How to take table data hours, minutes and seconds
我正在使用以下 SQL 查询来获取 AvgTime,当将两个日期传递给fnDatetoSeconds
时,它的返回时间差以秒为单位。 在上面的查询中,在几分钟内返回 output。
我需要把它当作HH.MM.SS
。 我该怎么做
SELECT
ISNULL(CAST(AVG(CASE WHEN (l.Status = 5 OR l.Status = 6) THEN dbo.fnDatetoSeconds(l.AssistedTime, l.AddedTime, NULL)*1.0 ELSE NULL END)/60.00 AS DECIMAL(18,6)), 0) AS AvgTime
ISNULL(CAST(AVG(CASE WHEN (l.Status = 2) THEN dbo.fnDatetoSeconds(l.CompletedTime, l.AddedTime, NULL)*1.0 ELSE NULL END)/60.00 AS DECIMAL(18,6)), 0) AS AvgTimeNew
FROM @LobbyRecords l;
这解决了最初的问题。
如果你有两次并且你想要平均一次,我建议:
select convert(time,
dateadd(second,
avg( datediff(second, l.AddedTime, l.AssistedTime)),
0
)
)
from @LobbyRecords l
where l.status in (5, 6);
我将case
条件移至where
子句,只是为了简化逻辑以专注于关键思想——将平均秒数添加到0
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.