Microsoft SQL Server 使用CTE生成日期表
示例
DECLARE @startdate CHAR(8), @numberDays TINYINTSET @startdate = '20160101'
SET @numberDays = 10;
WITH CTE_DatesTable
AS
(
SELECT CAST(@startdate as date) AS [date]
UNION ALL
SELECT DATEADD(dd, 1, [date])
FROM CTE_DatesTable
WHERE DATEADD(dd, 1, [date]) <= DateAdd(DAY, @numberDays-1, @startdate)
)
SELECT [date] FROM CTE_DatesTable
OPTION (MAXRECURSION 0)
本示例返回一个单列日期表,该表从@startdate变量中指定的日期开始,并返回下一个@numberDays日期的日期。
以上是 Microsoft SQL Server 使用CTE生成日期表 的全部内容, 来源链接: utcz.com/z/340705.html