Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL DATETIME 컬럼에 시간 더하기: ADDTIME() 함수 완벽 가이드

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 값에 원하는 시간 간격을 손쉽게 더할 수 있습니다.