사이트 내 검색:

MySQL 시간 연산

05 Mar 2014

안내

본 문서는 블로그의 운영자인 본인이 Stackoverflow에 올린 답변을 정리한 글입니다.

Stackoverflow URL

http://stackoverflow.com/questions/20114900/write-current-time-plus-5-minutes-in-mysql-from-php/20114961

질문

현재 시각에서 5분 후와 15초 후의 시각을 알고 싶다.

답변

날짜 연산도 Stackoverflow에 자주 등장하는 질문이다. 본 질문은 아주 기초적인 질문으로서 다음과 같은 방법으로 질문자가 알고 싶은 것을 구할 수 있다.

DATE_ADD() 함수를 이용하여 날짜 연산하기

mysql> SELECT NOW(), DATE_ADD(NOW(), INTERVAL 5 MINUTE);
+---------------------+------------------------------------+
| NOW()               | DATE_ADD(NOW(), INTERVAL 5 MINUTE) |
+---------------------+------------------------------------+
| 2014-01-19 17:54:20 | 2014-01-19 17:59:20                |
+---------------------+------------------------------------+
1 row in set (0.00 sec)
 
mysql> SELECT NOW(), DATE_ADD(NOW(), INTERVAL 15 SECOND);
+---------------------+-------------------------------------+
| NOW()               | DATE_ADD(NOW(), INTERVAL 15 SECOND) |
+---------------------+-------------------------------------+
| 2014-01-19 17:54:28 | 2014-01-19 17:54:43                 |
+---------------------+-------------------------------------+
1 row in set (0.00 sec)

DATE_ADD()는 날짜를 더하는 함수이고 이와 비슷하게 DATE_SUB()는 날짜를 빼는 함수이다. 함수를 사용하는 방법 외에 다음과 같이 함수 없이 날짜를 연산하는 방법도 있다.

함수 없이 날짜 연산하기

mysql> SELECT NOW(), NOW() + INTERVAL 5 MINUTE;
+---------------------+---------------------------+
| NOW()               | NOW() + INTERVAL 5 MINUTE |
+---------------------+---------------------------+
| 2014-01-19 17:54:49 | 2014-01-19 17:59:49       |
+---------------------+---------------------------+
1 row in set (0.00 sec)
 
mysql> SELECT NOW(), NOW() + INTERVAL 15 SECOND;
+---------------------+----------------------------+
| NOW()               | NOW() + INTERVAL 15 SECOND |
+---------------------+----------------------------+
| 2014-01-19 17:54:55 | 2014-01-19 17:55:10        |
+---------------------+----------------------------+
1 row in set (0.00 sec)

“MySQL” 카테고리의 추천 글