날짜함수 - MySQL Date and Time Functions

현재 시간

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;