我有一个日期时间表,我需要找到平均时间。我试过CASE语句,但它给了我一个错误操作数数据类型时间对于avg操作符无效。
select * from datestime
dates
2015-11-23 15:05:40.923
2015-11-23 15:05:43.610
2015-11-23 15:05:45.790
2015-11-23 15:05:48.293
首先,我将列分成两列日期和时间
"select convert(date,dates,104) as date,convert(time,dates,108) as time from datestime"
然后使用CASE计算平均时间。
;with avgtime as(
select convert(date,dates,104) as date,convert(time,dates,108) as time from datestime)
select avg(time) from avgtime
请帮我找到平均时间
答案 0 :(得分:0)
您可以通过执行以下操作获得范围内开始/结束日期之间的中点:
declare @start datetime = '2015-12-01T10:00:00'
declare @finish datetime = '2015-12-01T11:00:00'
print dateadd( second, ( datediff( second, @start, @finish ) / 2 ), @start )