跟以往類似,我依舊介紹一個我日常開發遇到的知識點,謹此記錄一下,也希望能幫助到一些朋友。
這次我要介紹的是通過SQL函數返回你輸入的兩個時間點內的日期數據。
效果圖如下:
執行函數:SELECT * FROM [Fn_RunSelectDay]('2015-01-01','2015-01-11')
具體函數如下:
-- ============================================= -- 調用:SELECT * FROM [Fn_RunSelectDay]('2015-01-01','2015-01-11') -- Create date: 2015-01-03 -- Description: 返回自定義時間段的日期數據 -- ============================================= CREATE FUNCTION [dbo].[Fn_RunSelectDay] ( @begindate DATETIME , @enddate DATETIME ) RETURNS @tab TABLE ( XSDate VARCHAR(10) , Sort INT ) AS BEGIN DECLARE @num INT SELECT @num=(DATEDIFF(DAY, @begindate, @enddate)*-1)
DECLARE @i INT SET @i=0 WHILE (@i>=@num) BEGIN INSERT INTO @tab SELECT XSDae = CONVERT (VARCHAR(100), DATEADD(day, @i, @enddate), 23) , Sort = @i SET @i=@i-1 END RETURN END
如果朋友們覺得以后可能會用到的話,歡迎轉載,當然也可以推薦一下,謝謝。
PS:此博文是利用Windows Live Writer 2012編寫,格式效果可能不太好。
新聞熱點
疑難解答