[MySQL] 날짜, 시간 계산 DATEDIFF, TIMEDIFF

알파·2022년 11월 2일
0

MySQL에서 시간 간격을 계산할 수 있는 함수를 알아보겠습니다!

  • DATEDIFF() - 두 기간 사이의 일수 계산
  • TIMEDIFF() - 두 기간 사이의 시간 계산
  • PERIOD_DIFF() - 두 기간 사이의 개월 수 계산
  • TIMESTAMPDIFF() - 두 기간 사이의 시간 계산(단위 지정 가능)

DATEDIFF

  • 두 기간 사이의 일수를 계산하는 함수

DATETIME(종료일, 시작일)

SELECT DATEDIFF('2021-12-31', '2021-01-20'); -- 345
SELECT DATEDIFF('2021-12-31', '2022-01-20'); -- -20

TIMEDIFF

  • 두 기간 사이의 시간을 계산하는 함수

TIMEDIFF(종료일, 시작일)

SELECT TIMEDIFF('2022-02-01 23:00:00', '2022-01-30 00:00:00'); -- 71:00:00
SELECT TIMEDIFF('2021-12-31 23:00:00', '2022-01-01 00:00:00'); -- -01:00:00

PERIOD_DIFF

  • 두 기간 사이의 개월 수 차이를 계산하는 함수

PERIOD_DIFF(종료일, 시작일)

SELECT PERIOD_DIFF('202202', '202112'); -- 2

TIMESTAMPDIFF

  • 시간 또는 개월 수 등 여러 가지 형태의 계산을 할 수 있는 함수
  • 다른 함수들과 시작일과 종료일의 순서가 반대

TIMESTAMPDIFF(unit, 시작일, 종료일)

SELECT TIMESTAMPDIFF(MONTH, '2021-02-01', '2022-03-01'); -- 13;
SELECT TIMESTAMPDIFF(YEAR, '2021-02-01', '2022-03-01'); -- 1;

출처 : 여기

profile
I am what I repeatedly do

0개의 댓글