SQL Server의 DATEADD() 함수와 달리, MySQL에서는 DATE_ADD() 함수를 사용해야 합니다. 두 함수는 이름이 비슷하지만 문법이 다르므로 주의가 필요합니다.
DATE_ADD() 기본 문법
MySQL에서 특정 시간 간격을 더하는 기본 문법은 다음과 같습니다.
DATE_ADD(NOW(), INTERVAL yourValue MINUTE);
산술 연산자로 대체하기
함수를 사용하지 않고 산술 연산자(+)를 활용할 수도 있습니다. 결과는 동일합니다.
NOW() + INTERVAL 30 MINUTE
DATE_ADD() 함수 실습 예제
현재 시각에 30분을 더하는 쿼리입니다.
mysql> select date_add(now(), interval 30 minute);
실행 결과는 다음과 같습니다.
+-------------------------------------+ | date_add(now(), interval 30 minute) | +-------------------------------------+ | 2019-02-27 15:38:27 | +-------------------------------------+ 1 row in set (0.00 sec)
산술 연산자(+) 사용 예제
먼저 현재 시각을 확인해 보겠습니다.
mysql> select now(); +---------------------+ | now() | +---------------------+ | 2019-02-27 15:09:18 | +---------------------+ 1 row in set (0.00 sec)
이제 NOW()에 30분을 더해 보겠습니다.
mysql> select now()+interval 30 minute;
실행 결과는 다음과 같습니다.
+--------------------------+ | now()+interval 30 minute | +--------------------------+ | 2019-02-27 15:39:33 | +--------------------------+ 1 row in set (0.00 sec)
참고: 지원되는 시간 단위
INTERVAL 키워드 뒤에는 다양한 단위를 사용할 수 있습니다.
SECOND,MINUTE,HOURDAY,WEEK,MONTH,YEAR- 복합 단위도 가능:
INTERVAL '1 2' DAY_HOUR
또한 시간을 빼야 할 경우에는 DATE_SUB() 함수나 마이너스(-) 연산자를 사용하면 됩니다.