USE T_SQL; GO CREATE FUNCTION dbo.get_avg_time (@b_time datetime,@e_time datetime,@clerk varchar(50)) RETURNS @avg_time table ( clerk varchar(50), avg_time varchar(8) ) AS BEGIN insert into @avg_time select clerk,convert(varchar(8),dateadd(ss,time,108),108) from (select clerk, avg(substring(convert(varchar(19),d_t,120), 12, 2) * 3600 + substring(convert(varchar(19),d_t,120), 15, 2) * 60 + substring(convert(varchar(19),d_t,120), 18, 2)) as time from login_log where d_t between @b_time and @e_time and clerk = @clerk group by clerk )as tt return END GO
|