首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-01-21 
如何获得上年同期的日期?类似于2007-4-8是星期日,对应2006-4-9如题[解决办法]2007-4-8是星期日,上年同期是

如何获得上年同期的日期?类似于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)

热点排行