[SQL] 시간차 구하기, TIMEDIFF, DATEDIFF 그리고 TIMESTAMPDIFF

Gi Woon Lee·2025년 3월 19일

SQL

목록 보기
28/33

시간차이를 구하는 방법은 몇 개 없다.

  • TIMEDIFF(끝시간, 시작시간) -> TIME형식 반환, HH:MM:SS, 범위: -838:59:59 ~ 838:59:59
  • DATEDIFF(끝시간, 시작시간) -> INT 반환
  • TIMESTAMPDIFF(단위, 끝시간, 시작시간) -> INT 반환. 시간차를 단위로 바꿔서 정수로 반환한다.
    - 단위: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR

사실상 TIMESTAMPDIFF 하나만 정확히 알고 있으면 대부분의 시간차를 구할 수 있다.

SELECT 
    DATEDIFF(O.DATETIME, I.DATETIME), # 며칠 차이?
    TIMEDIFF(O.DATETIME, I.DATETIME), # 몇시간 차이? HH:MM:SS
    TIMESTAMPDIFF(WEEK, O.DATETIME, I.DATETIME) # 몇주 차이? 
FROM 
    ANIMAL_OUTS O LEFT JOIN ANIMAL_INS I # in시간과 out시간이 기록된 테이블 조인
    ON O.ANIMAL_ID = I.ANIMAL_ID

0개의 댓글