함수 | 기능 |
---|---|
DATE() | 연-월-일 |
TIME() | 시:분:초 |
CURDATE() | 현재 연-월-일 |
CURTIME() | 현재 시:분:초 |
NOW(), SYSDATE() | 현재 연-월-일 시:분:초 |
YEAR(날짜) | 연 |
MONTH(날짜) | 월 |
DAY(날짜), DAYOFMONTH(날짜) | 일 |
HOUR(시간) | 시 |
MINUTE(시간) | 분 |
SECOND(시간) | 초 |
MICROSECOND(시간) | 밀리초 |
날짜의 마지막 날짜를 구한다.
SELECT LAST_DAY(CURDATE()); -- 결과 2023-02-28 현재 2월의 마지막 날 반환
날짜1에서 2를 뺀 결과 반환
SELECT DATEDIFF('2023-04-21',NOW()) AS '생일까지 남은 일수';
-- 결과 63
시간1에서 시간2를 뺀 값 반환
SELECT TIMEDIFF('22:00:00', TIME(NOW())) AS '10시까지 남은시간';
-- 결과 '02:39:58'
YYYYMM에서 MM만큼 지난 연월을 구한다.
첫번째 연월에서 두번째 연월을 뺀 개월수를 구한다.
연도에서 일수만큼 지난 날짜를 반환
SELECT MAKEDATE(2023,100); -- 결과 '2023-04-10'
-- 2023년에 100일 지난 날짜가 4.10
시 분 초를 '시:분:초' 형태로 만든다.
SELECT MAKETIME(13,30,00); -- 결과 '13:30:00'
1(일요일)~7(토요일) 날짜를 숫자로 나타냄
날짜의 요일을 반환
연중 몇 일이 지났는지 반환
SELECT DAYOFWEEK(CURDATE()); -- 결과 6
SELECT MONTHNAME(CURDATE()); -- 결과 'February'
SELECT DAYOFYEAR(CURDATE()); -- 결과 48
날짜를 기준으로 값만큼 더한 날짜 반환
SELECT ADDDATE('2023-02-17',31); -- 결과'2023-03-20'
SELECT ADDDATE('2023-02-17',INTERVAL 31 DAY); -- 결과'2023-03-20'
SELECT ADDDATE('2023-02-17',INTERVAL 1 MONTH);-- 결과'2023-03-17'
SELECT ADDDATE('2023-02-17',INTERVAL 1 YEAR); -- 결과'2024-02-17'
날짜/시간을 기준으로 시간을 더한다.
날짜를 기준으로 값만큼 뺀 날짜 반환
SELECT SUBDATE('2023-02-17',31); -- 결과'2023-01-17'
SELECT SUBDATE('2023-02-17',INTERVAL 31 DAY); -- 결과'2023-01-17'
SELECT SUBDATE('2023-02-17',INTERVAL 1 MONTH);-- 결과'2023-01-17'
SELECT SUBDATE('2023-02-17',INTERVAL 1 YEAR); -- 결과'2022-02-17'
날짜/시간을 기준으로 시간을 뺀다.
4분기 중 몇 분기인지 구한다.
SELECT QUARTER(CURDATE()); -- 결과 1 (현재 2월이다.)
시간을 초 단위로 구한다.
SELECT TIME_TO_SEC('12:00:00'); -- 결과 43200