달나라 노트

Redshift : datediff (두 시점간의 차이 구하기) 본문

SQL/Redshift

Redshift : datediff (두 시점간의 차이 구하기)

CosmosProject 2021. 1. 28. 18:59
728x90
반응형

 

 

 

datediff(단위, start_date, end_date)

datediff 함수는 위처럼 사용할 수 있습니다.

datediff 함수는 start_date에서 end_date 간의 차이값을 명시한 단위로 반환해주죠.

 

정확히 말하면 end_date - start_date의 결과를 명시한 단위의 수치로 나타내줍니다.

따라서 start_date < end_date 일 경우 결과값은 양수일 것이며

start_date > end_date 일 경우 결과값은 음수일 것입니다.

 

 

select datediff(day, to_date('20210101', 'yyyymmdd'), to_date('20210110', 'yyyymmdd'))
-> 9


select datediff(day, to_date('20210110', 'yyyymmdd'), to_date('20210101', 'yyyymmdd'))
-> -9


select datediff(week, to_date('20210101', 'yyyymmdd'), to_date('20210110', 'yyyymmdd'))
-> 2


select datediff(week, to_date('20210110', 'yyyymmdd'), to_date('20210101', 'yyyymmdd'))
-> -2


select datediff(month, to_date('20210101', 'yyyymmdd'), to_date('20210220', 'yyyymmdd'))
-> 1


select datediff(year, to_date('20200101', 'yyyymmdd'), to_date('20210110', 'yyyymmdd'))
-> 1


select datediff(hour, to_date('20210101', 'yyyymmdd'), to_date('20210102', 'yyyymmdd'))
-> 24


select datediff(minute, to_date('20210101', 'yyyymmdd'), to_date('20210102', 'yyyymmdd'))
-> 1440


select datediff(second, to_date('20210101', 'yyyymmdd'), to_date('20210102', 'yyyymmdd'))
-> 86400

위 예시를 보면 두 날짜값 간의 차이를 일, 주, 월, 년, 시간, 분, 초 단위로 반환해주는 걸 볼 수 있습니다.

 

 

 

 

아래 표는 datediff의 단위 부분에 사용될 수 있는 단위 모음입니다.

(원본 : 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)이 있는 타임스탬프의 경우만

 

 

 

 

 

 

728x90
반응형
Comments