2023년
[MariaDB] 연말 마지막 영업일 대비 직전 영업일 조회
더밸류(THEVALUE)
2023. 1. 26. 16:38
특정년도의 연말 마지막 영업일(평일)의 직전 영업일을 가져오기 위해 사용.
예) 2022년 12월 30일을 선택하여 쿼리에 파라미터로 보낸 경우에는 직전 영업일인 2022년 12월 29일이 조회되어 나오도록 함
업무와 관련된 내용으로 특별한 경우가 아니면 사용하지 않을 것으로 판단되지만...
주가(주식) 정보는 마지막 영업일의 정보는 조회되지 않으므로
아래와 같이 직전 영업일 날짜를 조회하여 해당 날짜의 주가 정보를 가져오기 위해서 사용하였음.
-- 1: 일요일
-- 7: 토요일
SELECT CASE WHEN DAY_S = '2022-12-30' THEN (
CASE WHEN DAYOFWEEK(DATE_ADD(DAY_S, interval -1 day)) = 1 THEN DATE_ADD(DAY_S, interval -2 day) -- 하루전이 일요일이면
ELSE DATE_ADD(DAY_S, interval -1 day)
END
)
ELSE '2022-12-30'
END AS DATE_COM
FROM (
SELECT MONTH('2022-12-30'), LAST_DAY('2022-12-30'), DAYOFWEEK(LAST_DAY('2022-12-30'))
, CASE WHEN DAYOFWEEK(LAST_DAY('2022-12-30')) = 7 THEN DATE_ADD(LAST_DAY('2022-12-30'), interval -1 day)
WHEN DAYOFWEEK(LAST_DAY('2022-12-30')) = 1 THEN DATE_ADD(LAST_DAY('2022-12-30'), interval -2 day)
ELSE LAST_DAY('2022-12-30') END AS DAY_S
) A