[原創]SQL表值函數:返回自定義時間段的日期數據

跟以往相似,我依舊介紹一個我平常開發遇到的知識點,謹此記錄一下,也但願能幫助到一些朋友。函數

此次我要介紹的是經過SQL函數返回你輸入的兩個時間點內的日期數據。3d

效果圖以下:blog

執行函數:SELECT * FROM [Fn_RunSelectDay]('2015-01-01','2015-01-11')ip

image

具體函數以下:開發

-- =============================================
-- 調用: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)get

        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
    ENDit

若是朋友們以爲之後可能會用到的話,歡迎轉載,固然也能夠推薦一下,謝謝。 io

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

相關文章
相關標籤/搜索