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
如果朋友們覺得以后可能會用到的話,歡迎轉載,當然也可以推薦一下,謝謝。
新聞熱點
疑難解答