꿈은 데이터분석가, 취미는 계획

[MY SQL] DATEDIFF와 TIMESTAMPDIFF 차이(날짜차이 구하기) 본문

SQL/sql문풀

[MY SQL] DATEDIFF와 TIMESTAMPDIFF 차이(날짜차이 구하기)

data_2080 2024. 7. 21. 23:51
728x90

0. MY SQL의 DATETIME 이해하기

DATEDIFF는 DATE와 DATETIME에만 적용 가능,

TIMESTAMPDIFF 는 DATETIME과 TIMESTAMP형식의 데이터에만 적용 가능

 

단, MYSQL에서는 VARCHAR 형식임에도 불구하고, DATEDIFF 및 TIMESTAMPDIFF 함수 사용 시

이를 날짜/시간 형식으로 인식하여 처리(내부적으로 문자열을 적절하게 파싱하여 처리하기 때문)

1. DATEDIFF()

2개 날짜의 차이를 반환

ex) DATEDIFF( '2020-07-21T10:34:51', '2020-07-20T9:34:50') => 1

DATEDIFF(date1, date2)

2. TIMESTAMPDIFF ()

2개 차이를 지정한 단위로 반환

ex) TIMESTAMPDIFF( MINUTE, '2020-07-21 09:34:50', '2020-07-21 10:34:51') => 60

 

*사용 가능한 단위

  • FRAC_SECOND: 밀리초
  • SECOND: 초
  • MINUTE: 분
  • HOUR: 시간
  • DAY: 일
  • WEEK: 주
  • MONTH: 월
  • QUARTER: 분기
  • YEAR: 년
TIMESTAMPDIFF(unit, datetime1, datetime2)

 


[한줄 요약]

일자의 차이를 구하려면? DATEDIFF

일자보다 작은 단위, 더 큰 단위로 차이를 구하려면? TIMESTAMDIFF

728x90