날짜함수 - MySQL Date and Time Functions
2022.05.30
현재 시간
SELECT SYSDATE() FROM DUAL;
SELECT NOW() FROM DUAL;
현재 시간
SELECT CURTIME() FROM DUAL;
현재 날짜
SELECT CURDATE() FROM DUAL;
날짜 더하기
SELECT DATE_ADD('20220530', INTERVAL 5 DAY) DATE FROM DUAL;
주 더하기
SELECT DATE_ADD('20220530', INTERVAL 5 WEEK) DATE FROM DUAL;
달 더하기
SELECT DATE_ADD('20220530', INTERVAL 5 MONTH) DATE FROM DUAL;
년 더하기
SELECT DATE_ADD('20220530', INTERVAL 5 YEAR) DATE FROM DUAL;
날짜 빼기
SELECT DATE_SUB('20220530', INTERVAL 5 DAY) DATE FROM DUAL;
날짜 더하기
SELECT ADDDATE('20220530', 5) DATE FROM DUAL;
날짜 빼기
SELECT SUBDATE('20220530', 5) DATE FROM DUAL;
일 수 더하기
SELECT PERIOD_ADD('20220530', 5) DATE FROM DUAL;
월 수 더하기
SELECT PERIOD_ADD('202205', 5) DATE FROM DUAL;
년 수 더하기
SELECT PERIOD_ADD('2022', 5) DATE FROM DUAL;
해당 달의 마지막 날
SELECT LAST_DAY('20220530') DATE FROM DUAL;
해당 달의 첫째 날
SELECT ADDDATE(LAST_DAY(DATE_SUB('20220530', INTERVAL 1 MONTH)), 1) DATE FROM DUAL ;
날짜만 추출
SELECT EXTRACT(DAY FROM "20220530") DATE FROM DUAL;
달만 추출
SELECT EXTRACT(MONTH FROM "20220530") DATE FROM DUAL;
년도만 추출
SELECT EXTRACT(YEAR FROM "20220530") DATE FROM DUAL;
날짜만 추출
SELECT DAY('20220530') DATE FROM DUAL;
달만 추출
SELECT MONTH('20220530') DATE FROM DUAL;
년도만 추출
SELECT YEAR('20220530') DATE FROM DUAL;
주 추출
SELECT WEEK('20220530') DATE FROM DUAL;
분기 추출
SELECT QUARTER('20220530') DATE FROM DUAL;
해당 주의 특정 요일 (일요일 : 1)
SELECT DATE_ADD('20220530', INTERVAL(DAYOFWEEK('20220530')-1) * -1 DAY) DAY FROM DUAL;
해당 주의 특정 요일 (월요일 : 2)
SELECT DATE_ADD('20220530', INTERVAL(DAYOFWEEK('20220530')-2) * -1 DAY) DAY FROM DUAL;
날짜 비교하여 빼기
SELECT DATEDIFF('20220530', '20220401') DATE FROM DUAL;
요일을 날짜로 (일요일 : 1)
SELECT DAYOFWEEK('20220530') DAY FROM DUAL;
요일명 추출
SELECT DAYNAME('20220530') DAY FROM DUAL;
요일명 추출
SELECT MONTHNAME('20220530') DAY FROM DUAL;
날짜 FORMAT 변경(STRING으로 변경)
SELECT DATE_FORMAT('20220530', '%Y/%m/%d') DATE FROM DUAL;
SELECT DATE_FORMAT('20220530', '%Y%m%d') DATE FROM DUAL;
STRING형을 DATE형으로 변환
SELECT STR_TO_DATE('20220530', '%Y%m%d') DATE FROM DUAL;
FORMAT 변환
SELECT DATE_FORMAT('2022-05-05 22:23:00', '%H:%i:%s') DATE FROM DUAL;
FORMAT 변환
SELECT DATE_FORMAT('2022-05-05 22:23:00', '%D %y %a %d %m %b %j') DATE FROM DUAL;