메뉴 건너뛰기

조회 수 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 데이터베이스별 / 테이블별 용량 확인 하기 2023.01.10 117
5 CASE 문법 사용 하기 file 2023.01.10 111
4 MYSQL any&all&in&예제& WHERE 절 문제4 file 2021.03.27 111
3 MYSQL IN&BETWEEN&NULL&예제&FROM절 문제3 file 2021.03.27 104
2 FORMAT 문법 사용 하기(숫자 자리수 나타내기) file 2023.01.10 102
1 mysql table 값 변경 mariadb 테이블 값 변경 2023.01.12 86
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved