본문 바로가기
DataBase/SQL 문제풀이

[MySQL] 초 단위 시간차이 계산

by Dev_Green 2024. 4. 8.

이번 하나은행 상반기 코테에서 SQL 두번째 문제로 초 단위의 시간계산이 필요한 문제가 나왔다.

DATEDIFF()를 활용한 날짜 계산은 익숙했지만 다른 시간 단위의 계산은 미처 생각하지 못해 당황스러웠다.

시간 유닛을 매개변수로 사용하는 뭔가가 있었던 거 같은데,,, 했으나 끝끝내 떠올리지 못했다.

 

시험이 끝난 후 찾아보니 TIMESTAMPDIFF(단위, 날짜1, 날짜2) 라는 함수가 있더라.

함수명이 생소한 거 보니 떠올리지 못한 게 아니라 그냥 몰랐던 듯하다. 엄,,

 

그래서, 초 계산 그거 어떻게 하는 건데

TIMESTAMPDIFF(단위, 날짜1, 날짜2)

단위로는 SECOND, MINUTE, HOUR, WEEK, MONTH, YEAR 등이 사용가능하고,

날짜1이 날짜2보다 이른 시점일 때 계산 결과가 양수로 도출되는 식이다.

아래 예제 코드를 남긴다. 

SELECT TIMESTAMPDIFF(SECOND, '2024-03-01 00:00:00', '2024-03-01 00:00:05');  // 5
SELECT TIMESTAMPDIFF(SECOND, '2024-03-01 23:59:55', '2024-03-02 00:00:05');  // 10