[SQL] 날짜 계산 함수 - DATE_ADD, DATE_SUB, DATEDIFF, TIMEDIFF, PERIOD_DIFF, TIMESTAMPDIFF

SHONG·2024년 3월 29일

SQL

목록 보기
9/15
post-thumbnail
  • DATE_ADD : 날짜 및 시간을 더해준다.
  • DATE_SUB : 날짜 및 시간을 빼준다.
  • DATEDIFF : 두 날짜 사이의 기간이 며칠인지 계산한다.
  • TIMEDIFF : 두 날짜 사이의 시간을 계산한다.
  • PERIOD_DIFF : 두 날짜 사이의 기간이 몇 개월인지 계산한다.
  • TIMESTAMPDIFF : 두 날짜 사이의 기간을 다양한 형태로 계산한다.

DATE_ADD

DATE_ADD는 시간을 더해주는 역할을 한다.

문법

DATE_ADD(기준 날짜, INTERVAL 더할 시간)

SELECT DATE_ADD('2024-03-29 12:00:00', INTERVAL 1 SECOND) AS second
	 , DATE_ADD('2024-03-29 12:00:00', INTERVAL 1 SECOND) AS minute
     , DATE_ADD('2024-03-29 12:00:00', INTERVAL 1 SECOND) AS day

🔽 출력 결과

secondminuteday
2024-03-29 12:00:012024-03-29 12:01:002024-03-30 12:00:00

📌 DATE_ADD 에서 음수를 넣어주면 원하는 시간 만큼 빼는 계산도 가능하다.


DATE_SUB

DATE_SUB는 시간을 빼주는 역할을 한다.

문법

DATE_SUB(기준 날짜, INTERVAL 더할 시간)

SELECT DATE_SUB('2024-03-29 12:00:00', INTERVAL 1 SECOND) AS second
	 , DATE_SUB('2024-03-29 12:00:00', INTERVAL 1 SECOND) AS minute
     , DATE_SUB('2024-03-29 12:00:00', INTERVAL 1 SECOND) AS day

🔽 출력 결과

secondminuteday
2024-03-29 11:59:592024-03-29 11:59:002024-03-28 12:00:00

DATEDIFF

DATEDIFF는 두 날짜 사이의 기간이 며칠인지 계산한다.

문법

DATEDIFF(종료일, 시작일)

📌 앞에 입력한 종료일에서 시작일을 빼주는 계산을 한다.

SELECT DATEDIFF('2024-03-29', '2024-03-01') AS column1
	 , DATEDIFF('2024-03-01', '2024-03-29') AS column2
      -- 시작일을 앞에 쓰면 음수 값을 출력한다.

🔽 출력 결과

column1column2
28-28

📌 시작일을 포함하고 출력하고 싶으면 1을 더해주면 된다.
DATEDIFF('2024-03-01', '2024-03-29') + 1


TIMEDIFF

TIMEDIFF는 두 날짜 사이의 시간을 계산한다.

문법

TIMEDIFF(종료일, 시작일)

SELECT TIMEDIFF('2024-03-29 23:00:00', '2024-03-29 00:00:00') AS column

🔽 출력 결과

column
23:00:00

PERIOD_DIFF

PERIOD_DIFF는 두 날짜 사이의 기간이 몇 개월인지 계산한다.

문법

PERIOD_DIFF(종료일, 시작일)

SELECT PERIOD_DIFF('2024-05-29', '2024-03-29') AS column

🔽 출력 결과

column
2

TIMESTAMPDIFF

PERIOD_DIFF는 두 날짜 사이의 기간을 다양한 형태로 계산한다.

문법

TIMESTAMPDIFF(단위, 시작일, 종료일)

📌 다른 함수와 다르게 시작일을 앞에 써준다

SELECT TIMESTAMPDIFF(MONTH, '2024-03-29', '2025-03-29') AS column

🔽 출력 결과

column
12
profile
핑계 대지 말자

0개의 댓글