상세 컨텐츠

본문 제목

MySQL 시간 및 날짜 더하기 빼기 (DATE_ADD, DATE_SUB)

🗳️ Data

by chnh 2023. 1. 29. 22:04

본문

반응형

null


How to add a time/date interval to a date

n일전, n시간 전의 지표를 구해야하는 경우 DATE_ADD, DATE_SUB 함수를 활용하면 된다.

Syntax

DATE_ADD(date, INTERVAL value addunit)

이 때 value는 음수, 양수 모두 가능하고
value 자리에는 다음 값들이 들어갈 수 있다.

MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH

날짜 / 시간 더하기

DATE_ADD(date, INTERVAL value addunit) 

날짜 / 시간 빼기

DATE_SUB(date, INTERVAL value addunit) 

이를 응용하면, 다음 두 쿼리문은 같은 결과값을 불러오게 된다.

DATE_ADD(date, INTERVAL -1 DAY)
DATE_SUB(date, INTERVAL 1 DAY)

Conclusion

특정 일자(s.division_dt)를 기준으로 1일 전, 7일 전, 1달 전 날짜 불러오는 쿼리는 다음과 같다.
현재 시간을 기준으로 날짜를 더하고 빼고 싶다면 datenow()를 넣어주면 된다.

SELECT
s.division_dt dt_0d,
DATE_SUB(s.division_dt, INTERVAL 1 DAY) dt_1d,
DATE_SUB(s.division_dt, INTERVAL 7 DAY) dt_7d,
DATE_SUB(s.division_dt, INTERVAL 1 MONTH) dt_1m
FROM
sales_data s
반응형

관련글 더보기

댓글 영역