MyException - 我的异常网
当前位置:我的异常网» Sql Server » 又开贴,大侠给看看用sql取当前年的前后10年的一个查

又开贴,大侠给看看用sql取当前年的前后10年的一个查询,

www.MyException.Cn  网友分享于:2013-12-26  浏览:12次
再开贴,大侠给看看用sql取当前年的前后10年的一个查询,急!
例如今年2007年,用sql取一个查询结果为(没有任何表的情况下):

列名A
1998
1999
2000
...
2007
2008
2017


------解决方案--------------------
--改进一下mschen(Co-ok)的(少了一年)
--加多一个参数:前后的年数

--创建函数
create function dbo.fn_GetYear(@Year int,@Num int)
returns @tb table([Year] int)
as
begin
declare @i int
set @i=@Year-@Num
while(@i <=@Year+@Num)
begin
insert @tb select @i
set @i=@i+1
end
return
end
go

--调用函数
select * from dbo.fn_GetYear(2007,2)
go

--删除环境
drop function fn_GetYear

--结果
/*
Year
2005
2006
2007
2008
2009
*/

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有