繁体   English   中英

如何取表数据时分秒

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM