데이터 베이스

[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 함수에서 시간을 넣는 위치는 서로 반대가 된다.