▶ TIMESTAMPDIFF
TIMESTAMPDIFF(unit, datetime1, datetime2)
TIMESTAMPDIFF : 두 날짜 또는 시간 간의 특정 단위로 간격 반환
unit : 반환할 간격의 단위 지정 (예: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR)
datetime1 : 시작 시간
datetime2 : 끝 시간
- 결과 :
datetime2 - datetime1에 해당하는 간격
- 예시
SELECT TIMESTAMPDIFF(MINUTE, '2025-01-01 12:00:00', '2025-01-01 13:30:00');
SELECT TIMESTAMPDIFF(DAY, '2025-01-01', '2025-01-10');
▶ TIMEDIFF
TIMEDIFF(time1, time2)
TIMEDIFF(time1, time2) : 두 시간의 차이를 HH:MM:SS 형식으로 반환
time1, time2: 비교할 두 시간 값 (DATETIME 또는 TIME 형식 가능)
- 결과:
time2-time1에 해당하는 차이를 HH:MM:SS 형식으로 반환
SELECT TIMEDIFF('13:30:00', '12:00:00');
SELECT TIMEDIFF('2025-01-01 13:30:00', '2025-01-01 12:00:00');
▶ UNIX_TIMESTAMP를 활용한 직접 계산
-- 두 시간 간의 차이를 초 단위로 계산
SELECT UNIX_TIMESTAMP('2025-01-01 13:30:00') - UNIX_TIMESTAMP('2025-01-01 12:00:00') AS seconds_diff;
-- 결과: 5400 (1시간 30분 = 5400초)
-- 초 단위 차이를 분 단위로 변환
SELECT (UNIX_TIMESTAMP('2025-01-01 13:30:00') - UNIX_TIMESTAMP('2025-01-01 12:00:00')) / 60 AS minutes_diff;
-- 결과: 90
- 직접 계산 : 시간 간격을 초, 분, 시간 등으로 계산하려면
UNIX_TIMESTAMP와 산술 연산 사용
▶ 단위 요약
| 단위 이름 (unit) | 설명 |
|---|
| SECOND | 초 |
| MINUTE | 분 |
| HOUR | 시간 |
| DAY | 일 |
| WEEK | 주 |
| MONTH | 월 |
| YEAR | 년 |