PS:此博文是利用Windows Live Writer 2012编写,格式效果可能不太好。
在我开发过程中,遇到一个统计需求,结果是要求返回从当天起往回推算出自定义输入的天数
为此我写了一个表值函数来解决这一需求。现记录一下,也希望能帮助到一些也遇到此类问题的朋友。
首先我们看一下执行效果图:
返回最近十五天的数据,执行调用函数:SELECT * FROM [Fn_RunDay](-15)
具体函数如下:
-- ============================================= -- 调用:SELECT * FROM [Fn_RunDay](-15) -- Create date: 2015-01-11 -- Description: 获取从今天计算起往前 @num 天,返回Table -- ============================================= ALTER FUNCTION [dbo].[Fn_RunDay] (@num INT=-15) RETURNS @tab TABLE ( XSDate VARCHAR(10) , Sort INT ) AS BEGIN
DECLARE @i INT SET @i=0 WHILE (@i>@num) BEGIN INSERT INTO @tab SELECT XSDae = CONVERT (VARCHAR(100), DATEADD(day, @i, GETDATE()), 23) , Sort = @i SET @i=@i-1 END RETURN END
如果朋友们觉得以后可能会用到的话,欢迎转载,当然也可以推荐一下,谢谢。
新闻热点
疑难解答