반응형
반응형

> Link : http://blogs.conchango.com/jamiethomson/archive/2007/01/11/T_2D00_SQL_3A00_-Generate-a-list-of-dates.aspx

유용하고 재미있는 쿼리가 있어서 소개합니다.

 

프로그램을 짜거나 쿼리를 이용하다 보면, 특정 기간 또는 특정 년도의 순차적인 날짜 집합을 이용해야 할 때가 있습니다. 보통 임시 테이블을 이용하여 루핑으로 날짜를 넣은 다음 이를 이용하곤 했지만, 다음과 같이 SQL Server 2005 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)

 

 

반응형
반응형

> Link : http://www.sqlservercentral.com/columnists/phe/2926.asp

결과를 보면..CTE보다 Loop를 사용한 솔루션이...
더 좋다는 이야기가 되는군요...
약간 실망인 걸요...
 
반응형

+ Recent posts

반응형