--月初   本月一号
set @BeginDate = convert(varchar(8),datepart(year,@WhichMonth))+'-'+convert(varchar(8),datepart(m,@WhichMonth))+'-1'
--月末 下月一号减一天
set @EndDate = dateadd(day,-1,convert(varchar(8),datepart(year,dateadd(m,1,@WhichMonth)))+'-'+convert(varchar(8),datepart(m,dateadd(m,1,@WhichMonth)))+'-1 23:59:59')

简化
set @BeginDate = convert(varchar(8),@WhichMonth,120)+'1'set @EndDate = dateadd(day,-1,convert(varchar(8),dateadd(m,1,@WhichMonth),120)+'1 23:59:59')