데이터 베이스
[MySQL] 두 날짜의 차이를 구하라 (feat. DATEDIFF, TIMESTAMPDIFF)
ImKDM
2022. 9. 27. 16:53
728x90
시점 A 와 시점 B 간격의 차이를 구하는 방법은 무엇이 있을까?
' 시점 A - 시점 B ' 를 하지 않아도 날짜 사이의 차이를 구하는 함수가 있다.
바로 DATEDIFF 함수와 TIMESTAMPDIFF 함수다.
DATEDIFF 함수는 순전히 ' 일 ' 차이만 계산한다.
쉽게 이야기해서 ' 날짜 A - 날짜 B ' 를 해준다.
DATEDIFF('날짜1', '날짜2') -- 날짜1 에서 날짜2 를 뺀다.
반면 TIMESTAMPDIFF 함수는 ' 연(YEAR) ', ' 분기(QUARTER) ', ' 월(MONTH) ', ' 주(WEEK) ', ' 일(DAY) ' 시(HOUR) ', ' 분(MINUTE) ', ' 초(SECOND) ' 단위로 차이를 구할 수 있다.
TIMESTAMPDIFF 함수에 원하는 단위를 넣으면 된다.
또한 특이점은 DATEDIFF 와 달리 날짜를 뺴는 순서가 반대라서 빼고 싶은 날짜가 뒤에 위치한다.
' 날짜 B - 날짜 A ' 가 된다.
DATESTAMPDIFF(단위, '날짜1', '날짜2') -- 날짜2 에서 날짜1 을 뺀다.
따라서 DATEDIFF 함수와 TIMESTAMPDIFF 함수에서 시간을 넣는 위치는 서로 반대가 된다.