DataBase/oracle
ORACLE 월별 통계 (1~12월 표현)
아이티.파머
2010. 3. 15. 11:46
반응형
0. 단순히 0~12월 까지 표현 해줌.
SELECT
LPAD(LEVEL, 2, '0') LV
FROM DUAL CONNECT BY LEVEL <= 12
SELECT
LPAD(LEVEL, 2, '0') LV
FROM DUAL CONNECT BY LEVEL <= 12
1. FROM ~ TO "1년치" 동적인 달 수 생성
SELECT
SELECT
ADD_MONTHS(TO_DATE('200801', 'YYYYMM'),(LEVEL - 1)) AS YMD
FROM DUAL
CONNECT BY ADD_MONTHS(TO_DATE('200801', 'YYYYMM'),(LEVEL - 1)) <= ADD_MONTH(TO_DATE('200801', 'YYYYMM'),+11)
2. FROM ~ 12 개월 달 수 생성
SELECT ADD_MONTHS(TO_DATE('200801', 'YYYYMM'),(LEVEL - 1)) AS YMD FROM DUAL
CONNECT BY ADD_MONTHS(TO_DATE('200801', 'YYYYMM'),(LEVEL - 1)) <= TO_DATE('200812', 'YYYYMM')
SELECT ADD_MONTHS(TO_DATE('200801', 'YYYYMM'),(LEVEL - 1)) AS YMD FROM DUAL
CONNECT BY ADD_MONTHS(TO_DATE('200801', 'YYYYMM'),(LEVEL - 1)) <= TO_DATE('200812', 'YYYYMM')
3. FROM ~ -12 개월 달 수 생성
SELECT ADD_MONTHS(TO_DATE('201101', 'YYYYMM'),- (LEVEL-1)) AS YMD FROM DUAL
CONNECT BY ADD_MONTHS(TO_DATE('201101', 'YYYYMM'),- (LEVEL-1)) >= ADD_MONTHS(TO_DATE('201101', 'YYYYMM'),-11)반응형