Wednesday, February 10, 2010

sql server to find a average time in a datetime

I searched in the google, to get my point, but i didn't get the desired result. so i have blogged it.

the below query will get you the desired result, i mean the average of time only in a given set of date time

Am creating a temporary table to explain you;

create table #tmp(dates datetime)

inserting some records for sample;

insert into #tmp values('2009-06-10 21:06:59.000')
insert into #tmp values('2009-06-11 21:02:56.000')
insert into #tmp values('2009-06-12 21:00:04.000')
insert into #tmp values('2009-06-15 20:59:54.000')
insert into #tmp values('2009-06-16 21:02:35.000')

And now here is my query;

select convert(varchar,convert(datetime,AVG(convert(float,(convert(datetime,convert(varchar,dates,108)))))),108) as AverageTime
from #tmp

Result is:

AverageTime
21:02:29

No comments:

Post a Comment