반응형
MySQL에는 날짜와 시간 데이터를 처리하기 위한 다양한 함수들이 제공됩니다. 이번 포스트에서는 MySQL의 주요 날짜 및 시간 함수들을 살펴보고, 실제 사용 예시를 통해 그 활용 방법을 알아보겠습니다.
CURDATE(), CURTIME(), NOW()
현재 날짜, 현재 시간, 현재 날짜와 시간을 반환합니다.
CURDATE(), CURTIME(), NOW() 형식으로 사용합니다.
SELECT CURDATE() AS current_date;
SELECT CURTIME() AS current_time;
SELECT NOW() AS current_datetime;
DATE(), TIME()
날짜 또는 시간 부분만 추출합니다.
DATE(datetime), TIME(datetime) 형식으로 사용합니다.
SELECT DATE(order_datetime) AS order_date FROM orders;
SELECT TIME(order_datetime) AS order_time FROM orders;
DATEDIFF(), TIMEDIFF()
두 날짜 또는 시간 간의 차이를 계산합니다.
DATEDIFF(date1, date2), TIMEDIFF(time1, time2) 형식으로 사용합니다.
SELECT DATEDIFF(NOW(), hire_date) AS days_employed FROM employees;
SELECT TIMEDIFF(closing_time, opening_time) AS open_hours FROM stores;
DATE_FORMAT(), TIME_FORMAT()
날짜 또는 시간을 원하는 형식으로 출력합니다.
DATE_FORMAT(date, format), TIME_FORMAT(time, format) 형식으로 사용합니다.
SELECT DATE_FORMAT(order_date, '%Y-%m-%d') AS order_date FROM orders;
SELECT TIME_FORMAT(closing_time, '%H:%i') AS closing_time FROM stores;
EXTRACT()
날짜 또는 시간의 특정 부분을 추출합니다.
EXTRACT(unit FROM datetime) 형식으로 사용합니다.
SELECT EXTRACT(YEAR FROM order_datetime) AS order_year FROM orders;
SELECT EXTRACT(MONTH FROM hire_date) AS hire_month FROM employees;
ADDDATE(), SUBDATE()
날짜에 일정 기간을 더하거나 뺍니다.
ADDDATE(date, INTERVAL expr unit), SUBDATE(date, INTERVAL expr unit) 형식으로 사용합니다.
SELECT ADDDATE(order_date, INTERVAL 7 DAY) AS delivery_date FROM orders;
SELECT SUBDATE(hire_date, INTERVAL 1 YEAR) AS anniversary FROM employees;
이와 같은 날짜 및 시간 함수들은 다양한 데이터 처리 및 분석 작업에서 활용될 수 있습니다.
예를 들어 주문 내역 조회, 근속 연수 계산, 일자별 매출 분석 등에 유용합니다.
반응형