[sql] 적절한 시간 조작 및 날짜 함수 사용
데이터베이스에서 시간 및 날짜 정보를 다룰 때 주로 사용되는 함수 및 시간 조작 기술에 대해 알아보겠습니다.
1. 날짜 및 시간 데이터 타입
대부분의 관계형 데이터베이스 시스템은 날짜와 시간을 저장하고 다루기 위한 데이터 타입을 제공합니다. 일반적으로 다음과 같은 데이터 타입이 사용됩니다.
- DATE: 날짜 정보만을 저장하는 데이터 타입
- TIME: 시간 정보만을 저장하는 데이터 타입
- DATETIME 또는 TIMESTAMP: 날짜와 시간 정보를 모두 저장하는 데이터 타입
2. 날짜 및 시간 함수
2.1. DATE_FORMAT 함수
SELECT DATE_FORMAT(date_column, '%Y-%m-%d') AS formatted_date FROM table_name;
DATE_FORMAT 함수는 날짜 형식을 지정하여 날짜를 원하는 형태로 출력할 수 있습니다.
2.2. DATE_ADD 함수
SELECT DATE_ADD(date_column, INTERVAL 1 DAY) AS next_day FROM table_name;
DATE_ADD 함수를 사용하여 날짜에 특정 기간을 더할 수 있습니다.
2.3. DATE_SUB 함수
SELECT DATE_SUB(date_column, INTERVAL 1 MONTH) AS previous_month FROM table_name;
DATE_SUB 함수를 사용하여 날짜에서 특정 기간을 뺄 수 있습니다.
2.4. CURRENT_DATE 및 CURRENT_TIME 함수
SELECT CURRENT_DATE() AS current_date, CURRENT_TIME() AS current_time;
현재 날짜 및 시간을 가져오는 함수로 사용됩니다.
3. 예시
다음은 각종 날짜 및 시간 함수를 사용한 예시입니다.
SELECT
DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS formatted_datetime,
DATE_ADD(NOW(), INTERVAL 1 WEEK) AS next_week,
DATE_SUB(NOW(), INTERVAL 1 YEAR) AS last_year,
CURRENT_DATE() AS current_date,
CURRENT_TIME() AS current_time;
위의 예시에서는 현재 날짜와 시간을 포맷팅하고, 일정 기간을 더하거나 빼는 방법을 보여줍니다.
날짜 및 시간을 다루는 SQL의 다양한 함수 및 기술을 활용하여 데이터베이스에서 원하는 정보를 정확하게 추출할 수 있습니다.