创建节假日表 SysHolidySet
ALTER PROC [dbo].[GetShouldDate] @date datetime,@type int ,@hour varchar(10)=null
AS
BEGIN
if @type=0
begin
create table #temp(daysdate varchar(10))
Declare @i int=1
while @i<=30
begin
Insert into #temp(daysdate)
values(convert(date,@date-@i))
Set @i=@i+1
end
Delete from #temp where datename(dw,daysdate)='星期日'
Delete from #temp where daysdate in(select holiday from SysHolidySet)
select top 6 daysdate,
case when xh=1 then '前一天'
when xh=2 then '前两天'
when xh=3 then '前三天'
when xh=4 then '前四天'
when xh=5 then '前五天'
when xh=6 then '前六天' end as daysname from
(select daysdate, ROW_NUMBER()over(order by daysdate desc)xh from #temp)A
end
drop table #temp
END