declare @s datetime,@e datetime
set @s='20130501'
set @e='20130522'
select days/7*5+ --统计整周的工作日
days%7- --统计不是整周的天数
case when 6 between wd and wd+days%7-1 then 1 else 0 end- --判断是否是周六
case when 7 between wd and wd+days%7-1 then 1 else 0 end --判断是否是周日
from (select (datediff(day,@s,@e)-+1) as days, --统计两个间隔时间天数
datepart(weekday,@s+@@datefirst-1) as wd) as d --计算开始那天星期几