Mysql의 경우 RECURSIVE를 이용하여 특정기간의 일(목록)을 구할 수 있다.

 

예를들면 2022-01-10 ~ 2022-01-15의 목록의 결과는 다음과 같다.

2022-01-10, 2022-01-11, 2022-01-12, 2022-01-13, 2022-01-14, 2022-01-15

 

WITH RECURSIVE VIEW_DATE AS (
    SELECT STR_TO_DATE('20220110', '%Y%m%d') AS TODAY
     UNION ALL
    SELECT DATE_ADD(VIEW_DATE.TODAY, INTERVAL 1 DAY) 
      FROM VIEW_DATE 
     WHERE DATE_ADD(VIEW_DATE.TODAY, INTERVAL 1 DAY) <= '20220115'
)
SELECT TODAY
  FROM VIEW_DATE;

 

DB 조회 결과

 

+ Recent posts