ADDDATE : 날짜를 기준으로 차이를 더한 날짜를 반환
SUBDATE : 날짜를 기준으로 차이를 뺀 날짜를 반환
SELECT
ADDDATE('2023-05-31', INTERVAL 30 DAY)
, ADDDATE('2023-05-31', INTERVAL 6 MONTH)
, ADDDATE('2023-05-31', INTERVAL 1 YEAR)
, SUBDATE('2023-05-31', INTERVAL 30 DAY)
, SUBDATE('2023-05-31', INTERVAL 6 MONTH)
, SUBDATE('2023-05-31', INTERVAL 30 YEAR);

ADDTIME : 날짜 또는 시간을 기준으로 시간을 더한 후 반환
SUBTIME : 날짜 또는 시간을 기준으로 시간을 뺀 후 반환
SELECT
ADDTIME('2023-05-31 09:00:00', '1:0:1')
, SUBTIME('2023-05-31 09:00:00', '1:0:1');
CURDATE : 현재 연-월-일 추출
CURTIME: 현재 시:분:초 추출
NOW() 또는 SYSDATE(): 현재 연-월-일 시:분:초 추출
SELECT CURDATE(), CURRENT_DATE(), CURRENT_DATE;
SELECT CURTIME(), CURRENT_TIME(), CURRENT_TIME;
SELECT NOW(), LOCALTIME, LOCALTIME(), LOCALTIMESTAMP, LOCALTIMESTAMP();
YEAR|MONTH|DAYOFMONTH : 날짜 또는 시간에서 연, 월, 일 추출
SELECT YEAR(CURDATE()), MONTH(CURDATE()), DAYOFMONTH(CURDATE());
HOUR|MINUTE|SECOND|MICROSECOND : 날짜 또는 시간에서 시, 분, 초, 밀리초 추출
SELECT HOUR(CURTIME()), MONTH(CURDATE()), DAYOFMONTH(CURDATE()),
MICROSECOND(CURTIME(6));
DATE: 연-월-일만 추출
TIME: 시:분:초만 추출
SELECT DATE(NOW()), TIME(NOW());
DATEDIFF: 날짜1 - 날짜2의 일수를 반환
TIMEDIFF: 시간1 - 시간2의 결과를 반환
SELECT DATEDIFF('2023-05-31', '2023-02-27')
, TIMEDIFF('17:07:11', '13:06:10');
DAYOFWEEK: 요일 반환(1이 일요일)
MONTHNAME: 해당 달의 이름 반환
DAYOFYEAR: 해당 년도에서 몇 일이 흘렀는지 반환
SELECT DAYOFWEEK(CURDATE()), MONTHNAME(CURDATE()), DAYOFYEAR(CURDATE());
LAST_DAY: 해당 날짜의 달에서 마지막 날의 날짜
SELECT LAST_DAY('2023-02-01');
MAKEDATE: 해당 연도의 정수만큼 지난 날짜
MAKETIME: 시, 분, 초를 이용해서 '시:분:초'의 TIME 형식으로 만듦
SELECT MAKEDATE(2023, 32), MAKETIME(17, 03, 02);
QUARTER(날짜) : 해당 날짜의 분기를 구함
SELECT QUARTER('2023-05-01');
TIME_TO_SEC: 시간을 초 단위로 구함
SELECT TIME_TO_SEC('1:1:1');
