如何获得上年同期的日期?类似于2007-4-8是星期日,对应2006-4-9
如题
[解决办法]
2007-4-8是星期日,上年同期是什么意思,2006-4-9号也是星期日,2006-4-2也是星期日,为什么是2006-4-9,取最近的吗?
[解决办法]
--我的测试通过,保证周次、星期都一致
declare @d varchar(10)--传递的日期字符串
declare @date datetime--@d的日期类型
declare @Result_Year varchar(4)--去年的年部分
declare @dw_pqs INT--周次
declare @wk_pqs int--星期
set @d= '2007-04-08 '
set @date =cast(@d as datetime)
set @Result_Year=cast(year(@date)-1 as varchar)
set datefirst 1
select @dw_pqs=datepart(dw,@date),@wk_pqs=datepart(wk,@date)-1--获取周次、星期
select convert(varchar,dateadd(d,@wk_pqs*7+@dw_pqs,cast(@Result_Year+ '0101 ' as datetime)),23)