date_add(datepart, interval_value, date/time/timestamp)
date_add 함수는 위처럼 사용할 수 있습니다.
datepart = 날짜 연산을 할 날짜 단위(e.g. day, week, month, year ...)
interval_value = 날짜 연산을 할 시간의 양
date/time/timestamp = 기준 날짜
select current_date; --> 2021-02-22
select date_add('day', 10, current_date); --> 2021-03-04 00:00:00.000000
select date_add('week', 2, current_date); --> 2021-03-08 00:00:00.000000
select date_add('month', 10, current_date); --> 2021-12-22 00:00:00.000000
select date_add('year', 5, current_date); --> 2026-02-22 00:00:00.000000
select date_add('day', -10, current_date); --> 2021-02-12 00:00:00.000000
select date_add('week', -2, current_date); --> 2021-02-08 00:00:00.000000
select date_add('month', -10, current_date); --> 2020-04-22 00:00:00.000000
select date_add('year', -5, current_date); --> 2016-02-22 00:00:00.000000
위 예시를 보면 파악이 쉬울겁니다.
current_date를 기준으로 주어진 interval_value만큼 datepart에 명시된 날짜 단위로 연산을 진행합니다.
interval_value에는 양수와 음수 모두 사용할 수 있습니다.
아래 표는 datepart에 사용될 수 있는 단위 모음입니다.
(원본 : docs.aws.amazon.com/ko_kr/redshift/latest/dg/r_Dateparts_for_datetime_functions.html)
| 날짜 단위 | 약어 |
| millennium, millennia | mil, mils |
| century, centuries | c, cent, cents |
| decade, decades | dec, decs |
| Epoch | epoch(DATE_PART 및 EXTRACT에서 지원됨) |
| year, years | y, yr, yrs |
| quarter, quarters | qtr, qtrs |
| month, months | mon, mons |
| week, weeks | w DATE_TRUNC에서 사용할 경우 가장 최근 월요일 날짜를 반환합니다. |
| 요일 | dayofweek, dow, dw, weekday(DATE_PART 및 EXTRACT 함수에서 지원됨) 일요일을 시작으로 0부터 6까지 정수를 반환합니다. 참고 DOW 날짜 부분은 날짜/시간 형식 문자열에 사용되는 요일(D) 날짜 부분과 다르게 동작합니다. D는 1부터 7까지 정수를 기반으로 하며, 1이 일요일입니다. 자세한 정보는 날짜/시간 형식 문자열 단원을 참조하십시오. |
| day_of_year | dayofyear, doy, dy, yearday(DATE_PART 및 EXTRACT에서 지원됨) |
| day, days | d |
| hour, hours | h, hr, hrs |
| minute, minutes | m, min, mins |
| second, seconds | s, sec, secs |
| millisecond, milliseconds | ms, msec, msecs, msecond, mseconds, millisec, millisecs, millisecon |
| microsecond, microseconds | microsec, microsecs, microsecond, usecond, useconds, us, usec, usecs |
| timezone, timezone_hour, timezone_minute | 지원: DATE_TRUNC 및 EXTRACT 타임존(TIMESTAMPTZ)이 있는 타임스탬프의 경우만 |
출처 : Redshift : date_add (날짜 더하고 빼기, add or subtract specified interval from a date) (tistory.com)