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

T_sql获取某个时间跨度中的所有年份解决方案

2012-03-26 
T_sql获取某个时间跨度中的所有年份比如时间跨度为2002-2012查询结果为200220032004200520062007200820092

T_sql获取某个时间跨度中的所有年份
比如时间跨度为2002-2012

查询结果为
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012

[解决办法]

SQL code
--sql 2005declare @startDate datetimedeclare @endDate datetimeSELECT @startDate = '2002-01-01' ,@endDate = '2012-01-01';WITH tb AS (SELECT @startDate AS 'date'UNION ALLSELECT DATEADD(yy,1,date) FROM tb WHERE datepart(yy,DATE)<datepart(yy,@endDate))SELECT datepart(yy,tb.date) from tb/*-----------20022003200420052006200720082009201020112012(11 行受影响)*/ 

热点排行