MySQL에서 DATETIME 값에 시간을 추가하는 방법
MySQL에서 DATETIME 타입의 값에 시간을 더하려면 ADDTIME() 함수를 사용하면 됩니다. 이 함수는 첫 번째 인자로 전달된 날짜·시간 값에 두 번째 인자로 전달된 시간 간격을 더한 결과를 반환합니다.
실제 동작 과정을 예제를 통해 단계별로 살펴보겠습니다.
1단계: 테이블 생성하기
먼저 DATETIME 타입의 컬럼을 가진 테이블을 생성합니다.
mysql> create table DemoTable1848
(
ShippingDate datetime
);
Query OK, 0 rows affected (0.00 sec)
2단계: 데이터 삽입하기
INSERT 명령을 사용하여 테이블에 샘플 레코드를 입력합니다.
mysql> insert into DemoTable1848 values('2019-10-11 12:30:45');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1848 values('2019-01-12 10:00:00');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1848 values('2019-12-03 17:30:00');
Query OK, 1 row affected (0.00 sec)3단계: 저장된 데이터 확인하기
SELECT 문으로 테이블의 모든 레코드를 조회합니다.
mysql> select * from DemoTable1848;
위 쿼리는 다음과 같은 결과를 출력합니다.
+---------------------+
| ShippingDate |
+---------------------+
| 2019-10-11 12:30:45 |
| 2019-01-12 10:00:00 |
| 2019-12-03 17:30:00 |
+---------------------+
3 rows in set (0.00 sec)
4단계: ADDTIME() 함수로 시간 더하기
이제 ADDTIME() 함수를 사용하여 각 날짜에 4시간 40분을 더하는 쿼리를 실행해 보겠습니다.
mysql> select addtime(ShippingDate,'4:40') from DemoTable1848;
실행 결과는 다음과 같습니다.
+------------------------------+
| addtime(ShippingDate,'4:40') |
+------------------------------+
| 2019-10-11 17:10:45 |
| 2019-01-12 14:40:00 |
| 2019-12-03 22:10:00 |
+------------------------------+
3 rows in set (0.00 sec)
결과 분석
출력 결과를 보면 모든 ShippingDate 값에 정확히 4시간 40분이 더해진 것을 확인할 수 있습니다. 예를 들어 '2019-10-11 12:30:45'는 '2019-10-11 17:10:45'로 변경되었습니다.
ADDTIME() 함수 사용 시 참고 사항
- 시간 인자는 'HH:MM' 또는 'HH:MM:SS' 형식으로 지정할 수 있으며, 필요에 따라 마이크로초까지 포함할 수 있습니다(예: '2 10:30:15'처럼 일(day) 단위도 지정 가능).
- 더한 시간이 자정을 넘으면 날짜가 자동으로 하루 증가합니다.
- 시간을 빼야 하는 경우에는 SUBTIME() 함수를 사용하면 됩니다.
이처럼 MySQL의 ADDTIME() 함수를 활용하면 DATETIME 값에 원하는 시간 간격을 손쉽게 더할 수 있습니다.