今天有朋友問我如何產生一連串的日期,我想了想,我之前看過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
沒有留言:
張貼留言