gpt4 book ai didi

sql - 显示两个时间字段之间的平均差异为 MM :SS in SQL

转载 作者:行者123 更新时间:2023-12-02 01:22:57 28 4
gpt4 key购买 nike

我正在使用 SQL Server 2008。我有几行开始时间和结束时间。我想以 MM:SS 格式计算这两个时间之间的平均差值。

start_time | end_time     
10:15:30 | 10:15:45
10:45:00 | 10:47:30

第 1 行将相差 00:15,第 2 行将相差 02:30。整个数据集的平均值为 01:23(1 分 23 秒)。

我使用的代码如下所示,但只返回一个整数。

AVG(DATEDIFF(MI,start_time,end_time))

在此先感谢您的帮助。

最佳答案

你很接近,但你应该使用 DateDiff() 来获取两个字段之间 seconds 的平均数,而不是 的平均数分钟

使用 SQL Server 2008 R2,您无权访问 TIMEFROMPARTS()这将大大简化显示,因此您必须将其转换为 VARCHAR 以获得所需的格式。

;With AverageSeconds As
(
Select Avg(DateDiff(Second, Start_Time, End_Time))) AvgSec
From YourTable
)
Select Right('00' + Convert(Varchar, (AvgSec / 60)), 2)
+ ':'
+ Right('00' + Convert(Varchar, (AvgSec % 60)), 2)
From AverageSeconds

关于sql - 显示两个时间字段之间的平均差异为 MM :SS in SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38853586/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com