首页 > 开发 > 综合 > 正文

[原创]SQL 表值函数:获取从今天计算起往前自定义天数

2024-07-21 02:47:58
字体:
来源:转载
供稿:网友
[原创]SQL 表值函数:获取从今天计算起往前自定义天数

PS:此博文是利用Windows Live Writer 2012编写,格式效果可能不太好。

在我开发过程中,遇到一个统计需求,结果是要求返回从当天起往回推算出自定义输入的天数

为此我写了一个表值函数来解决这一需求。现记录一下,也希望能帮助到一些也遇到此类问题的朋友。

首先我们看一下执行效果图:

返回最近十五天的数据,执行调用函数:SELECT * FROM [Fn_RunDay](-15)

image

具体函数如下:

-- ============================================= -- 调用: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

如果朋友们觉得以后可能会用到的话,欢迎转载,当然也可以推荐一下,谢谢。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表