MYSQL

[MySQL] 날짜 or 시간차이 계산하는 DATEDIFF(), TIMESTAMPDIFF()

유코피치 2025. 2. 19. 21:30

서론

연습문제를 풀면서 제공받은 강의때는 배우지 못했지만 공부하게된 함수를 정리하고 있다.
그냥 확인하고 넘어가는것보다 여기에 정리해두는게 정말 도움이 많이 된다. 귀찮지만 매일매일의 데이터가 쌓여 미래의 내가 되겠지 라는 생각!ㅋㅋ 그래서 오늘은 모든 일정이 끝나고 정리해본다!

 

본론

 

0. 날짜 차이를 계산하는 DATEDIFF()

두 날짜 사이의 차이를 일(day) 수로 반환!

 

구조:

  • Select datediff('2025-02-19', '2025-02-15') as '날짜 간격'

해석:

  • 2025년 2월 19일과 2025년 2월 15일의 차이를 계산하여 4일을 반환합니다.

 

1. 날짜 또는 시간 단위 차이를 계산하는 TIMESTAMPDIFF()

두 날짜 사이의 차이를 지정된 시간 단위로 반환, 년/월/일/시/간/분/초 등으로 차이를 구할 수 있음!

 

구조: 

  • Select timestampdiff(unit, datetime1, datetime2) as '별명'
  • 계산 가능한 단위 명칭: day, hour, minute, second

 

예시1: 시간 단위 'hour'

  • Select timestampdiff (hour, '2025-02-19 12:00:00', '2025-02-19 18:30:00') as 'HourDifference';

해석:

  • '2025-02-19 12:00:00'과 '2025-02-19 18:30:00'의 시간 차이를 시간(HOUR) 단위로 계산합니다.
  • 결과는 6시간과 30분이므로, 6 시간이 반환됩니다.

 

결론

단위를 여러개 사용할수 있다고 하는데 아직 다른 단위는 쿼리문을 작성해보면서 연습 후 확실해질때까지 연습해야겠다. 나중에는 이렇게 분과 초.. 까지 나눠야 할 일이 있을까? 쿼리문을 작성하다보면 정말 일목요연하게 정리해야하고 꼼꼼해야하는것 같다. 나도 나름 꼼꼼한 편이지만 쿼리문은 쉽지 않다. 그래도 하나씩 차근차근 개념과 실력을 쌓아가보자! 화이팅!

 

 

728x90