当前位置: 代码迷 >> Sql Server >> 怎么获得上年同期的日期?类似于2007-4-8是星期日,对应2006-4-9
  详细解决方案

怎么获得上年同期的日期?类似于2007-4-8是星期日,对应2006-4-9

热度:10   发布时间:2016-04-27 21:08:40.0
如何获得上年同期的日期?类似于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 [email protected]
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,@[email protected]_pqs,cast(@Result_Year+ '0101 ' as datetime)),23)
  相关解决方案