MySQL - 시간 간격 계산

2018. 5. 16. 16:51plming/DB

시간을 더할 때는

DATE_ADD( NOW(), INTERVAL 1 DAY )

 

 

시간을 뺄 때는

DATE_SUB( NOW(), INTERVAL 1 DAY )

 

 

DAY 자리에는 초,분,시,일,주,달등의 분류들을 사용할 수 있다.

MICROSECOND, SECOND, MINUTE, HOUR
DAY, WEEK, MONTH, QUARTER, YEAR

 

 

시간의 차이을 계산할 때는

TIMEDIFF( 시간1, 시간2 )

 

 

※ Oracle처럼 시간1 - 시간2 하면?

 

SELECT 시간1 - 시간2 FROM DUAL;

 

숫자가 나오긴 한다.

 

시간1 : 2018-05-01 16:27:11 이고

시간2 : 2018-05-01 11:38:30 일 때

결과 : 48881 이 나온다.

 

이 결과의 의미는?

왜 이런 결과가?

 

시간을 단순 숫자로 변환해서 빼기 시킨 결과이다.

 

162711 - 113830 = 48881

 

 

의도한 경우가 아니라면

단순 빼기 보다는

DATEDIFF 나 TIMEDIFF 를 써야한다.