기준일부터 이후 2달 치 날짜 리스트를 가져와야 하는 경우가 생겼습니다.
1. 조회 방법
SELECT DATE_ADD('기준일', INTERVAL n-1 DAY) AS '날짜'
FROM (
SELECT n
FROM (
SELECT row_number() over(order by t1.n1, t2.n2) as n
FROM (SELECT 0 as n1 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t1,
(SELECT 0 as n2 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t2
) days
WHERE n <= DATEDIFF(DATE_ADD('기준일', INTERVAL 기간 MONTH), '기준일')
) date_list
ORDER BY '날짜';
8월1일부터 2달 후 예제
SELECT DATE_ADD('2023-08-01', INTERVAL n-1 DAY) AS '날짜'
FROM (
SELECT n
FROM (
SELECT row_number() over(order by t1.n1, t2.n2) as n
FROM (SELECT 0 as n1 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t1,
(SELECT 0 as n2 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t2
) days
WHERE n <= DATEDIFF(DATE_ADD('2023-08-01', INTERVAL 2 MONTH), '2023-08-01')
) date_list
ORDER BY '날짜';
2. 조회 결과
2023-08-01
2023-08-02
2023-08-03
2023-08-04
2023-08-05
.
.
.
.
2023-09-24
2023-09-25
2023-09-26
2023-09-27
2023-09-28
2023-09-29
2023-09-30
'개발' 카테고리의 다른 글
MySQL에서 특정 컬럼명을 가진 테이블 리스트 조회하기 (0) | 2024.03.20 |
---|