메뉴 건너뛰기

조회 수 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초

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

  1. No Image 27Feb
    by
    2014/02/27 Views 8022 

    MySQL 최적화 방법 설명

  2. No Image 19Dec
    by 조쉬
    2015/12/19 Views 8360 

    다양한 단위의 시간차 구하기

  3. MySql 윈도우에서 DB dump 백업과 복구하기

  4. No Image 16Nov
    by
    2017/11/16 Views 8876 

    특정 COLUMN을 제외하고 SELECT/INSERT하는 방법

  5. MySql 의 Trigger(트리거) 로 정보 업데이트

  6. No Image 22Dec
    by
    2016/12/22 Views 11523 

    MySQL INSERT 성능 향상

Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved