반응형
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초
이를 이용하여 일보다 작은 단위의 시간차값을 구하실 수 있습니다.
출처 : 그럼 모두 즐프하세요. ^
반응형
'IT > [DB]MySql' 카테고리의 다른 글
MYSQL] AES 암호화 복호화 (0) | 2014.04.02 |
---|---|
databasename 언어변경 (0) | 2014.01.20 |
order by문 case문쓰기 (0) | 2013.12.03 |
mysql 자동증가 atler문 (0) | 2013.10.08 |
[mysql] 날짜 비교 (0) | 2013.08.26 |