2011年1月12日 星期三

使用cte產生日期清單

今天有朋友問我如何產生一連串的日期,我想了想,我之前看過while迴圈的寫法,不過那是sql2000的作法,後來我google一下,發現在網路上有一個CTE的寫法,阿,CTE真是方便!
寫法如下:

WITH mycte AS
(
SELECT CAST('1900-01-01' AS DATETIME) DateValue
UNION ALL
SELECT DateValue + 1
FROM mycte
WHERE DateValue + 1 < '2050-12-31'
)
SELECT DateValue
FROM mycte
OPTION (MAXRECURSION 0)
參考網址:http://consultingblogs.emc.com/jamiethomson/archive/2007/01/11/T_2D00_SQL_3A00_-Generate-a-list-of-dates.aspx

沒有留言:

張貼留言