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

MySQL 테이블에 날짜 레코드 삽입 시 INTERVAL 키워드 활용 방법

네, MySQL에서는 데이터 레코드를 삽입하는 과정에서 INTERVAL 키워드를 충분히 사용할 수 있습니다. DATE_ADD() 함수와 함께 활용하면 기준 날짜·시간에서 특정 간격만큼 더한 값을 손쉽게 계산하여 저장할 수 있습니다.

먼저 예제에 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
(
    ArrivalTime datetime
);
Query OK, 0 rows affected (0.52 sec)

INTERVAL 키워드로 날짜 레코드 삽입하기

이제 INSERT 명령문으로 레코드를 삽입합니다. 아래 예시처럼 DATE_ADD() 함수 안에서 INTERVAL 키워드를 사용하면, 지정한 단위(HOUR 등)만큼 증가된 날짜 값이 그대로 테이블에 저장됩니다.

mysql> insert into DemoTable values(date_add(now(), interval 4 hour));
Query OK, 1 row affected (0.41 sec)
mysql> insert into DemoTable values(date_add('2016-01-31 10:40:50', interval 2 hour));
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable values(date_add('2015-05-01 12:00:00', interval 1 hour));
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable values(date_add('2017-12-04 08:00:00', interval 9 hour));
Query OK, 1 row affected (0.16 sec)

첫 번째 INSERT 문은 NOW() 함수로 현재 시각을 가져온 뒤 4시간을 더한 값이고, 나머지 세 문장은 각각 특정 날짜 문자열에 2시간, 1시간, 9시간을 더한 값입니다.

삽입된 결과 확인하기

SELECT 문으로 테이블의 전체 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다.

+---------------------+
| ArrivalTime         |
+---------------------+
| 2019-08-13 01:50:10 |
| 2016-01-31 12:40:50 |
| 2015-05-01 13:00:00 |
| 2017-12-04 17:00:00 |
+---------------------+
4 rows in set (0.00 sec)

정리

이처럼 INTERVAL 키워드는 INSERT 문뿐만 아니라 UPDATE, WHERE 절 등 다양한 위치에서 활용할 수 있습니다. HOUR 외에도 DAY, WEEK, MONTH, YEAR, MINUTE, SECOND 등 여러 단위를 지원하므로, 상황에 맞게 조합하면 복잡한 날짜 연산도 간단하게 처리할 수 있습니다.