메뉴 건너뛰기

조회 수 8360 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
mysql 에서 두 날짜사이의 시간차를 구하려면 보통 datediff 함수를 많이 사용합니다.

datediff(날짜1, 날짜2) 를 하면 두 날짜사이의 차이나는 일자를 숫자값으로 반환합니다.

예를들어 다음과 같이, 현재시간(now())에 1일을 더하여, datediff 로 두 날짜를 빼면, 
다음과 같이 1값을 반환합니다.

SELECT datediff(DATE_ADD(now(),INTERVAL 1 DAY), now()) dd ==> 1

즉 1일이 차이가 나는것을 알 수 있습니다.

하지만 다음과 같이 현재시간에다가 한시간을 더하여, datediff 로 현재시간과 차이를
구하면 0값을 반환합니다.

SELECT datediff(DATE_ADD(now(),INTERVAL 1 HOUR), now()) dd ==> 0

즉 datediff 는 일단위의 차이를 구하는 함수라, 그보다 작은 단위의 시간차는 구할 수 없습니다.

대신 mysql 의 TIMESTAMPDIFF 함수를 이용하시면, 다양한 단위의 시간차값을 구하실 수 있습니다.

다음과 같이 현재시간과 한시간 후의 시간의 차이값을 각각 단위값을 HOUR, MINUTE, SECOND 
구분값을 주게되면, 각각 시간단위, 분단위, 초단위 시간차 값을 반환하게 됩니다.

SELECT TIMESTAMPDIFF(HOUR, now(), DATE_ADD(now(),INTERVAL 1 HOUR)) dd ==> 1시간
SELECT TIMESTAMPDIFF(MINUTE, now(), DATE_ADD(now(),INTERVAL 1 HOUR)) dd ==> 60분
SELECT TIMESTAMPDIFF(SECOND, now(), DATE_ADD(now(),INTERVAL 1 HOUR)) dd ==> 3600초

이를 이용하여 일보다 작은 단위의 시간차값을 구하실 수 있습니다.

List of Articles
번호 제목 날짜 조회 수
6 MySQL 최적화 방법 설명 2014.02.27 8022
» 다양한 단위의 시간차 구하기 2015.12.19 8360
4 MySql 윈도우에서 DB dump 백업과 복구하기 file 2016.08.30 8475
3 특정 COLUMN을 제외하고 SELECT/INSERT하는 방법 2017.11.16 8866
2 MySql 의 Trigger(트리거) 로 정보 업데이트 file 2016.08.30 10153
1 MySQL INSERT 성능 향상 2016.12.22 11523
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved