날짜 및 시간 함수는 MariaDB에서 날짜와 시간 데이터를 처리하고 형식을 지정하며, 시간 간격을 계산하는 데 사용됩니다.
1. 현재 날짜와 시간 조회
함수 | 설명 | 예시 | 결과 예시 |
---|
NOW() | 현재 날짜와 시간을 반환 | SELECT NOW(); | 2024-10-25 12:45:35 |
SYSDATE() | 현재 날짜와 시간을 반환 | SELECT SYSDATE(); | 2024-10-25 12:45:35 |
CURDATE() | 현재 날짜만 반환 | SELECT CURDATE(); | 2024-10-25 |
CURTIME() | 현재 시간만 반환 | SELECT CURTIME(); | 12:45:35 |
YEAR() | 현재 연도만 반환 | SELECT YEAR(NOW()); | 2024 |
MONTH() | 현재 월 반환 | SELECT MONTH(NOW()); | 10 |
DAY() | 현재 일 반환 | SELECT DAY(NOW()); | 25 |
2. 요일과 월 이름
함수 | 설명 | 예시 | 결과 예시 |
---|
MONTHNAME() | 월 이름 반환 | SELECT MONTHNAME(NOW()); | October |
DAYNAME() | 요일 이름 반환 | SELECT DAYNAME('2024-10-25'); | Friday |
LC_TIME_NAMES | 날짜/시간의 언어 설정 | SET lc_time_names = 'ko_KR'; | 목요일 (한국어 설정 시) |
예제
SET lc_time_names = 'ko_KR';
SELECT DAYNAME('2024-10-25');
3. Unix Timestamp
함수 | 설명 | 예시 | 결과 예시 |
---|
UNIX_TIMESTAMP() | Unix 기준의 타임스탬프 반환 | SELECT UNIX_TIMESTAMP(NOW()); | 1727655600 |
함수 | 설명 | 예시 | 결과 예시 |
---|
DATE_FORMAT() | 날짜와 시간을 지정된 형식으로 변환 | SELECT DATE_FORMAT(NOW(), '%Y-%m-%d'); | 2024-10-25 |
예제
SELECT ename, hiredate, DATE_FORMAT(hiredate, '%Y/%m/%d') FROM emp;
5. 시간 연산 (ADD / SUBTRACT)
함수 | 설명 | 예시 | 결과 예시 |
---|
DATE_ADD() | 지정한 날짜에 일정 기간을 추가 | SELECT DATE_ADD(NOW(), INTERVAL 2 DAY); | 현재 날짜 + 2일 |
DATE_SUB() | 지정한 날짜에서 일정 기간을 뺌 | SELECT DATE_SUB(NOW(), INTERVAL 2 MONTH); | 현재 날짜 - 2달 |
예제
SELECT DATE_ADD('2024-10-25', INTERVAL 2 DAY);
6. 날짜 간격 계산 (DATEDIFF)
함수 | 설명 | 예시 | 결과 예시 |
---|
DATEDIFF() | 두 날짜 간의 일 수 차이 반환 | SELECT DATEDIFF('2024-12-31', '2024-01-01'); | 364 |
예제
SELECT DATEDIFF(NOW(), '2024-05-01');
7. 날짜 문자열 변환 (STR_TO_DATE)
함수 | 설명 | 예시 | 결과 예시 |
---|
STR_TO_DATE() | 문자열을 날짜 형식으로 변환 | SELECT STR_TO_DATE('25-10-2024', '%d-%m-%Y'); | 2024-10-25 |