728x90
반응형
목표
- 20250101 ~ 20251231 범위의 YYYYMM(년월) 목록을 동적으로 생성.
20250101 ➡️ startDt
20251231 ➡️ endDt
WITH RECURSIVE DateSeries AS (
-- 시작 날짜를 YYYYMM 형식으로 변환하여 가져오기
SELECT DATE_FORMAT(STR_TO_DATE(#{startDt}, '%Y%m%d'), '%Y%m') AS YYYYMM
UNION ALL
-- 이전 월에서 1개월 추가한 YYYYMM을 생성
SELECT DATE_FORMAT(DATE_ADD(STR_TO_DATE(YYYYMM, '%Y%m'), INTERVAL 1 MONTH), '%Y%m')
FROM DateSeries
WHERE YYYYMM < DATE_FORMAT(STR_TO_DATE(#{endDt}, '%Y%m%d'), '%Y%m')
)
SELECT
DS.YYYYMM,
FROM DateSeries DS;
728x90
반응형
'DB' 카테고리의 다른 글
[DB][Mybatis][MySQL] 공백에 영향 받지 않고 검색어로 데이터 조회하기 (0) | 2025.03.12 |
---|---|
[DB][MySQL, ORACLE] LAST_DAY 함수 (0) | 2025.03.06 |
[MySQL] JSON_CONTAINS (0) | 2025.02.25 |
[MySQL][SQL] FIND_IN_SET (0) | 2025.02.24 |
[DB][Oracle] SUBSTR / SUBSTRING (0) | 2025.01.26 |