Get a list of dates between two dates using a function

前端 未结 21 1444
天涯浪人
天涯浪人 2020-11-22 06:25

My question is similar to this MySQL question, but intended for SQL Server:

Is there a function or a query that will return a list of days between two dates? For exa

21条回答
  •  爱一瞬间的悲伤
    2020-11-22 06:56

    WITH TEMP (DIA, SIGUIENTE_DIA ) AS
               (SELECT 
                   1, 
                   CAST(@FECHAINI AS DATE)
                FROM 
                   DUAL
               UNION ALL
                SELECT 
                   DIA, 
                   DATEADD(DAY, DIA, SIGUIENTE_DIA)
                FROM 
                   TEMP
                WHERE
                   DIA < DATEDIFF(DAY,  @FECHAINI, @FECHAFIN)   
                   AND DATEADD(DAY, 1, SIGUIENTE_DIA) <=  CAST(@FECHAFIN AS DATE)
               )
               SELECT 
                  SIGUIENTE_DIA AS CALENDARIO 
               FROM
                  TEMP
               ORDER BY   
                  SIGUIENTE_DIA
    

    The detail is on the table DUAL but if your exchange this table for a dummy table this works.

提交回复
热议问题