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

MySQL INTERVAL 키워드에서 사용할 수 있는 단위 값 총정리

MySQL의 INTERVAL 키워드는 날짜 및 시간 값에 특정 기간을 더하거나 빼는 데 사용됩니다. 이 키워드와 함께 활용할 수 있는 단위 값은 매우 다양하며, 각 단위는 마이크로초부터 연도까지 폭넓은 시간 범위를 지원합니다.

아래에서는 MySQL INTERVAL 키워드와 함께 사용할 수 있는 주요 단위 값들을 예제와 함께 하나씩 살펴보겠습니다.

MICROSECOND(마이크로초)

MICROSECOND 단위는 현재 시간 또는 사용자가 지정한 시간에 특정 마이크로초를 더하거나 뺄 때 사용합니다.

mysql> Select NOW()+INTERVAL 100 MICROSECOND;

+--------------------------------+
| NOW()+INTERVAL 100 MICROSECOND |
+--------------------------------+
| 2017-10-28 18:47:25.000100     |
+--------------------------------+
1 row in set (0.00 sec)

위 쿼리는 MySQL INTERVAL 키워드를 사용하여 현재 날짜와 시간에 100마이크로초를 더한 결과입니다.

mysql> Select '2017-02-25 05:04:30' + INTERVAL 100 Microsecond;

+--------------------------------------------------+
| '2017-02-25 05:04:30' + INTERVAL 100 Microsecond |
+--------------------------------------------------+
| 2017-02-25 05:04:30.000100                       |
+--------------------------------------------------+
1 row in set (0.00 sec)

이번에는 사용자가 지정한 날짜와 시간에 100마이크로초가 더해진 것을 확인할 수 있습니다.

SECOND(초)

SECOND 단위는 현재 시간 또는 지정된 시간에 특정 초를 더하거나 뺄 때 사용합니다.

mysql> Select NOW()+INTERVAL 59 SECOND;

+--------------------------+
| NOW()+INTERVAL 59 SECOND |
+--------------------------+
| 2017-10-28 18:49:30      |
+--------------------------+
1 row in set (0.00 sec)

위 쿼리는 현재 날짜와 시간에 59초를 더하는 예제입니다.

mysql> Select '2017-02-25 05:04:30' + INTERVAL 59 Second;

+--------------------------------------------+
| '2017-02-25 05:04:30' + INTERVAL 59 Second |
+--------------------------------------------+
| 2017-02-25 05:05:29                        |
+--------------------------------------------+
1 row in set (0.00 sec)

지정된 날짜와 시간에도 같은 방식으로 59초가 더해진 결과를 볼 수 있습니다.

MINUTE(분)

MINUTE 단위는 현재 시간 또는 지정된 시간에 특정 분을 더하거나 뺄 때 사용합니다.

mysql> Select NOW()+INTERVAL 10 MINUTE;

+--------------------------+
| NOW()+INTERVAL 10 MINUTE |
+--------------------------+
| 2017-10-28 18:58:44      |
+--------------------------+
1 row in set (0.00 sec)

위 쿼리는 현재 날짜와 시간에 10분을 더하는 예제입니다.

mysql> Select '2017-02-25 05:04:30' + INTERVAL 10 Minute;

+--------------------------------------------+
| '2017-02-25 05:04:30' + INTERVAL 10 Minute |
+--------------------------------------------+
| 2017-02-25 05:14:30                        |
+--------------------------------------------+
1 row in set (0.00 sec)

지정된 날짜와 시간에 10분이 더해진 결과입니다.

HOUR(시)

HOUR 단위는 현재 시간 또는 지정된 시간에 특정 시간을 더하거나 뺄 때 사용합니다.

mysql> Select NOW()+INTERVAL 2 HOUR;

+-----------------------+
| NOW()+INTERVAL 2 HOUR |
+-----------------------+
| 2017-10-28 20:55:44   |
+-----------------------+
1 row in set (0.00 sec)

위 쿼리는 현재 날짜와 시간에 2시간을 더하는 예제입니다.

mysql> Select '2017-02-25 05:04:30' + INTERVAL 1 Hour;

+-----------------------------------------+
| '2017-02-25 05:04:30' + INTERVAL 1 Hour |
+-----------------------------------------+
| 2017-02-25 06:04:30                     |
+-----------------------------------------+
1 row in set (0.00 sec)

지정된 날짜와 시간에 1시간이 더해진 결과입니다.

DAY(일)

DAY 단위는 현재 날짜 또는 지정된 날짜에 특정 일수를 더하거나 뺄 때 사용합니다.

mysql> Select NOW()+INTERVAL 10 DAY;
+-----------------------+
| NOW()+INTERVAL 10 DAY |
+-----------------------+
| 2017-11-07 18:48:53   |
+-----------------------+
1 row in set (0.00 sec)

위 쿼리는 현재 날짜와 시간에 10일을 더하는 예제입니다.

mysql> Select '2017-02-25 05:04:30' + INTERVAL 10 Day;

+-----------------------------------------+
| '2017-02-25 05:04:30' + INTERVAL 10 Day |
+-----------------------------------------+
| 2017-03-07 05:04:30                     |
+-----------------------------------------+
1 row in set (0.00 sec)

지정된 날짜와 시간에 10일이 더해진 결과입니다.

WEEK(주)

WEEK 단위는 현재 날짜 또는 지정된 날짜에 특정 주(주 = 7일)를 더하거나 뺄 때 사용합니다.

mysql> Select NOW()+INTERVAL 1 WEEK;
+-----------------------+
| NOW()+INTERVAL 1 WEEK |
+-----------------------+
| 2017-11-04 18:49:10   |
+-----------------------+
1 row in set (0.00 sec)

위 쿼리는 현재 날짜와 시간에 1주일, 즉 7일을 더하는 예제입니다.

mysql> Select '2017-02-25 05:04:30' + INTERVAL 1 Week;

+-----------------------------------------+
| '2017-02-25 05:04:30' + INTERVAL 1 Week |
+-----------------------------------------+
| 2017-03-04 05:04:30                     |
+-----------------------------------------+
1 row in set (0.00 sec)

지정된 날짜와 시간에도 1주일이 더해진 결과를 확인할 수 있습니다.

MONTH(월)

MONTH 단위는 현재 날짜 또는 지정된 날짜에 특정 개월 수를 더하거나 뺄 때 사용합니다.

mysql> Select NOW()+INTERVAL 1 MONTH;

+------------------------+
| NOW()+INTERVAL 1 MONTH |
+------------------------+
| 2017-11-28 18:49:31    |
+------------------------+
1 row in set (0.00 sec)

위 쿼리는 현재 날짜와 시간에 1개월을 더하는 예제입니다.

mysql> Select '2017-02-25 05:04:30' + INTERVAL 1 Month;

+------------------------------------------+
| '2017-02-25 05:04:30' + INTERVAL 1 Month |
+------------------------------------------+
| 2017-03-25 05:04:30                      |
+------------------------------------------+
1 row in set (0.00 sec)

지정된 날짜와 시간에 1개월이 더해진 결과입니다.

QUARTER(분기)

QUARTER 단위는 현재 날짜 또는 지정된 날짜에 특정 분기(1분기 = 3개월)를 더하거나 뺄 때 사용합니다.

mysql> Select NOW()+INTERVAL 1 QUARTER;

+--------------------------+
| NOW()+INTERVAL 1 QUARTER |
+--------------------------+
| 2018-01-28 18:49:41      |
+--------------------------+
1 row in set (0.00 sec)

위 쿼리는 현재 날짜와 시간에 1분기, 즉 3개월을 더하는 예제입니다.

mysql> Select '2017-02-25 05:04:30' + INTERVAL 2 Quarter;

+--------------------------------------------+
| '2017-02-25 05:04:30' + INTERVAL 2 Quarter |
+--------------------------------------------+
| 2017-08-25 05:04:30                        |
+--------------------------------------------+
1 row in set (0.00 sec)

지정된 날짜와 시간에 2분기, 즉 6개월이 더해진 결과입니다.

YEAR(년)

YEAR 단위는 현재 날짜 또는 지정된 날짜에 특정 연도를 더하거나 뺄 때 사용합니다.

mysql> Select NOW()+INTERVAL 1 YEAR;

+-----------------------+
| NOW()+INTERVAL 1 YEAR |
+-----------------------+
| 2018-10-28 18:49:48   |
+-----------------------+
1 row in set (0.00 sec)

위 쿼리는 현재 날짜와 시간에 1년을 더하는 예제입니다.

mysql> Select '2017-02-25 05:04:30' + INTERVAL 2 Year;

+-----------------------------------------+
| '2017-02-25 05:04:30' + INTERVAL 2 Year |
+-----------------------------------------+
| 2019-02-25 05:04:30                     |
+-----------------------------------------+
1 row in set (0.00 sec)

지정된 날짜와 시간에 2년이 더해진 결과입니다.

마무리

이처럼 MySQL의 INTERVAL 키워드는 MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR 등 다양한 단위 값을 지원하여 날짜와 시간 연산을 손쉽게 처리할 수 있게 해줍니다. 각 단위는 단독으로 사용할 수 있으며, 필요에 따라 덧셈(+)과 뺄셈(-) 연산자와 조합하여 유연하게 활용할 수 있습니다.