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

MySQL에서 덧셈·뺄셈 연산자로 날짜 연산을 수행하는 방법

MySQL은 덧셈(+)과 뺄셈(-) 연산자에 INTERVAL 키워드와 시간 단위를 조합하여 date 또는 datetime 값에 대한 날짜 연산을 간단하게 수행할 수 있습니다.

기본 문법

SELECT '날짜' + INTERVAL n unit;
SELECT '날짜' - INTERVAL n unit;

여기서 unit에는 day, month, year, hour, minute, second 등 다양한 시간 단위를 지정할 수 있습니다.

예제 1: 특정 날짜에 2일 더하기

mysql> Select '2017-05-20' + INTERVAL 2 day;
+-------------------------------+
| '2017-05-20' + INTERVAL 2 day |
+-------------------------------+
| 2017-05-22                    |
+-------------------------------+
1 row in set (0.00 sec)

예제 2: 특정 날짜에서 2일 빼기

mysql> Select '2017-05-20' - INTERVAL 2 day;
+-------------------------------+
| '2017-05-20' - INTERVAL 2 day |
+-------------------------------+
| 2017-05-18                    |
+-------------------------------+
1 row in set (0.00 sec)

예제 3: 날짜시간에 3시간 더하기

datetime 값에도 동일한 방식으로 시간 단위 연산이 가능합니다.

mysql> Select '2017-05-20 05:04:35' + INTERVAL 3 hour;
+-----------------------------------------+
| '2017-05-20 05:04:35' + INTERVAL 3 hour |
+-----------------------------------------+
| 2017-05-20 08:04:35                     |
+-----------------------------------------+
1 row in set (0.00 sec)

예제 4: 특정 날짜에 1개월 더하기

mysql> Select '2017-05-20 05:04:35' + INTERVAL 1 month;
+------------------------------------------+
| '2017-05-20 05:04:35' + INTERVAL 1 month |
+------------------------------------------+
| 2017-06-20 05:04:35                      |
+------------------------------------------+
1 row in set (0.00 sec)

참고 사항

월 단위 연산 시 해당 월의 마지막 날보다 큰 날짜가 되는 경우, MySQL은 자동으로 그 달의 마지막 날로 조정합니다. 예를 들어 '2024-01-31' + INTERVAL 1 month의 결과는 2024-02-29(윤년 기준)가 됩니다.

이처럼 INTERVAL 키워드를 활용하면 복잡한 함수 호출 없이도 직관적인 구문으로 다양한 날짜 연산을 손쉽게 처리할 수 있습니다.