반응형

클라우드 서비스들 중 ms의 azure db는 spt_values를 지원하지 않는다.
이것말고도 별 뭐같은 경우들이 다 생겨난다.
짜증나지만 짜증나고 짜증이 날 뿐이다.

아래처럼 시작일 구간과 종료일 구간을 설정하여 UNION으로 묶어서 돌리면 날짜 데이터를 얻어낼 수 있다.
3년 정도로 (2013-01-01 ~ 2016-12-31) 여러개 만들면 됨

    SELECT  
    DATEADD(DAY, NUMBER, CONVERT(DATETIME, '2013-01-01', 120)) AS DATE  
    FROM  
    MASTER..SPT_VALUES  
    WHERE  
    TYPE = 'P'  
    AND DATEADD(DAY, NUMBER, CONVERT(DATETIME, '2013-01-01', 120)) <= CONVERT(DATETIME, '2016-12-31', 120)
UNION ALL
    SELECT  
  ...

그렇게 나온 데이터들을 테이블을 만든 후 엑셀로 옮겨서 아래처럼 쿼리를 만들어 저장시키면 뭐같은 azure mssql db에서 미지원하는 MASTER..SPT_VALUES를 이용할 수 있다.

INSERT INTO CALEN (DATE) VALUES ('2013-01-01 00:00:00.000')
INSERT INTO CALEN (DATE) VALUES ('2013-01-02 00:00:00.000')
INSERT INTO CALEN (DATE) VALUES ('2013-01-03 00:00:00.000')
INSERT INTO CALEN (DATE) VALUES ('2013-01-04 00:00:00.000')
INSERT INTO CALEN (DATE) VALUES ('2013-01-05 00:00:00.000')
INSERT INTO CALEN (DATE) VALUES ('2013-01-06 00:00:00.000')
INSERT INTO CALEN (DATE) VALUES ('2013-01-07 00:00:00.000')

...

반응형
Posted by Hippalus
,