SQL inline table-valued function: Util.dbo.GetDates

CREATE FUNCTION dbo.GetDates (@low AS DATE,
                              @high AS DATE)
RETURNS TABLE
    AS

RETURN
    WITH    L0
              AS (SELECT    c
                  FROM      ( VALUES ( 1), ( 1) ) AS D (c)),
            L1
              AS (SELECT    1 AS c
                  FROM      L0 AS A
                  CROSS JOIN L0 AS B),
            L2
              AS (SELECT    1 AS c
                  FROM      L1 AS A
                  CROSS JOIN L1 AS B),
            L3
              AS (SELECT    1 AS c
                  FROM      L2 AS A
                  CROSS JOIN L2 AS B),
            L4
              AS (SELECT    1 AS c
                  FROM      L3 AS A
                  CROSS JOIN L3 AS B),
            L5
              AS (SELECT    1 AS c
                  FROM      L4 AS A
                  CROSS JOIN L4 AS B),
            Nums
              AS (SELECT    ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS rownum
                  FROM      L5)
    SELECT TOP (DATEDIFF(DAY, @low, @high) + 1)
            DATEADD(DAY, rownum - 1, @low) AS dt
    FROM    Nums
    ORDER BY rownum ;

Description for SQL inline table-valued function: Util.dbo.GetDates

Todo
Site Map | Printable View | © 2008 - 2012 NuRoN Consulting, INC | Powered by mojoPortal | HTML 5 | CSS | Original design by Andreas Viklund
Share This Using Popular Bookmarking Services