取指定日期的对应的周x(周一、二、三、四、五、六、日)
--select dbo.fun_qql_getweekday(getdate())
create function [dbo].[fun_qql_getweekday]( @ddate datetime)
returns varchar(10)
as
begin
declare @fweekday varchar(10),@wkday int
set @fweekday=''
set @wkday=(@@DATEFIRST +datepart(WEEKDAY ,@ddate) -1)%7
--返回 SET DATEFIRST 参数的当前值,SET DATEFIRST 参数指明所规定的每周第一天:1 对应星期一,2 对应星期二,依次类推,用 7 对应星期日
select @fweekday=(
CASE WHEN @wkday=1 then '周一'
WHEN @wkday=2 then '周二'
WHEN @wkday=3 then '周三'
WHEN @wkday=4 then '周四'
WHEN @wkday=5 then '周五'
WHEN @wkday=6 then '周六'
WHEN @wkday=0 then '周日'
else ''
END )
return @fweekday
end