날짜 처리 - Heeyoung-Ahn/MariaDB-with-Excel-VBA GitHub Wiki

초일

LAST_DAY(CURRENT_DATE - INTERVAL 1 MONTH) + INTERVAL 1 DAY -- 금월 1일
LAST_DAY(CURRENT_DATE – INTERVAL 2 MONTH) + INTERVAL 1 DAY -- 전월 1일
CURRENT_DATE - INTERVAL (DAYOFYEAR(CURRENT_DATE) - 1) DAY -- 금년 1일
CURRENT_DATE - INTERVAL (DAYOFYEAR(CURRENT_DATE) - 1) DAY – INTERVAL 1 YEAR -- 전년 1일

말일

LAST_DAY(CURRENT_DATE) -- 금월 말일
LAST_DAY(CURRENT_DATE - INTERVAL 1 MONTH) -- 전월 말일
CURRENT_DATE + INTERVAL (365 – DAYOFYEAR(CURRENT_DATE) + 1) DAY -- 금년 말일
CURRENT_DATE – INTERVAL DAYOFYEAR(CURRENT_DATE) DAY -- 전년 말일

연말 기준 연초 날짜 조회

DATE_ADD(DATE_ADD('2019-12-31', INTERVAL -1 YEAR), INTERVAL 1 DAY)

YYYYMM 형식 표기

DATE_FORMAT('2020-01-22', '%Y%m')

DATE_FORMAT

SELECT DATE_FORMAT(CURDATE(), '%Y'); -- 문자형으로 변경됨: 2020
SELECT DATE_FORMAT(CURDATE(), '%Y') - 1; -- 숫자로 표시됨: 2,019
SELECT CAST(DATE_FORMAT(CURDATE(), '%Y') AS INT); -- 숫자로 변경됨: 2,020

로그 조회 등

SELECT CONVERT(DATE_ADD(CURRENT_DATE, INTERVAL 1 DAY), DATETIME)