
DATE_ADD : 날짜 및 시간을 더해준다.DATE_SUB : 날짜 및 시간을 빼준다.DATEDIFF : 두 날짜 사이의 기간이 며칠인지 계산한다.TIMEDIFF : 두 날짜 사이의 시간을 계산한다.PERIOD_DIFF : 두 날짜 사이의 기간이 몇 개월인지 계산한다.TIMESTAMPDIFF : 두 날짜 사이의 기간을 다양한 형태로 계산한다.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
🔽 출력 결과
| second | minute | day |
|---|---|---|
| 2024-03-29 12:00:01 | 2024-03-29 12:01:00 | 2024-03-30 12:00:00 |
📌 DATE_ADD 에서 음수를 넣어주면 원하는 시간 만큼 빼는 계산도 가능하다.
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
🔽 출력 결과
| second | minute | day |
|---|---|---|
| 2024-03-29 11:59:59 | 2024-03-29 11:59:00 | 2024-03-28 12:00:00 |
DATEDIFF는 두 날짜 사이의 기간이 며칠인지 계산한다.
문법
DATEDIFF(종료일, 시작일)
📌 앞에 입력한 종료일에서 시작일을 빼주는 계산을 한다.
SELECT DATEDIFF('2024-03-29', '2024-03-01') AS column1
, DATEDIFF('2024-03-01', '2024-03-29') AS column2
-- 시작일을 앞에 쓰면 음수 값을 출력한다.
🔽 출력 결과
| column1 | column2 |
|---|---|
| 28 | -28 |
📌 시작일을 포함하고 출력하고 싶으면 1을 더해주면 된다.
DATEDIFF('2024-03-01', '2024-03-29') + 1
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(종료일, 시작일)
SELECT PERIOD_DIFF('2024-05-29', '2024-03-29') AS column
🔽 출력 결과
| column |
|---|
| 2 |
PERIOD_DIFF는 두 날짜 사이의 기간을 다양한 형태로 계산한다.
문법
TIMESTAMPDIFF(단위, 시작일, 종료일)
📌 다른 함수와 다르게 시작일을 앞에 써준다
SELECT TIMESTAMPDIFF(MONTH, '2024-03-29', '2025-03-29') AS column
🔽 출력 결과
| column |
|---|
| 12 |