MONTHS_BETWEEN 함수 - Amazon Redshift

MONTHS_BETWEEN 함수

MONTHS_BETWEEN은 두 날짜 사이의 월 수를 계산합니다.

첫 번째 날짜가 두 번째 날짜 이후인 경우에는 결과 값이 양수이고, 그렇지 않으면 결과 값이 음수입니다.

두 인수 중 하나라도 NULL이면 결과 값도 NULL입니다.

구문

MONTHS_BETWEEN( date1, date2 )

인수

date1

DATE 데이터 형식의 열 또는 암시적으로 DATE 형식으로 평가되는 표현식입니다.

date2

DATE 데이터 형식의 열 또는 암시적으로 DATE 형식으로 평가되는 표현식입니다.

반환 타입

FLOAT8

결과 값에서 정수 부는 날짜의 년 값과 월 값의 차이에 따라 달라집니다. 결과 값에서 소수 부는 날짜 및 타임스탬프 값을 기준으로 계산되며, 한 달이 31일이라는 가정을 전제로 합니다.

date1date2 모두 월에서 동일한 날짜가 포함되어 있는 경우(예: 1/15/14와 2/15/14), 혹은 월에서 마지막 날짜가 포함되어 있는 경우(예: 8/31/14와 9/30/14)에는 타임스탬프 구간(있는 경우)의 일치 여부와 상관없이 날짜의 년 및 월 값에 따라 결과 값으로 정수가 반환됩니다.

예제

다음은 1/18/1969와 3/18/1969 사이의 월 수를 반환하는 예입니다.

select months_between('1969-01-18', '1969-03-18') as months; months ---------- -2

다음은 1/18/1969와 1/18/1969 사이의 월 수를 반환하는 예입니다.

select months_between('1969-01-18', '1969-01-18') as months; months ---------- 0

다음은 첫 번째 이벤트 공연 시점부터 마지막 공연 시점까지 월 수를 반환하는 예입니다.

select eventname, min(starttime) as first_show, max(starttime) as last_show, months_between(max(starttime),min(starttime)) as month_diff from event group by eventname order by eventname limit 5; eventname first_show last_show month_diff --------------------------------------------------------------------------- .38 Special 2008-01-21 19:30:00.0 2008-12-25 15:00:00.0 11.12 3 Doors Down 2008-01-03 15:00:00.0 2008-12-01 19:30:00.0 10.94 70s Soul Jam 2008-01-16 19:30:00.0 2008-12-07 14:00:00.0 10.7 A Bronx Tale 2008-01-21 19:00:00.0 2008-12-15 15:00:00.0 10.8 A Catered Affair 2008-01-08 19:30:00.0 2008-12-19 19:00:00.0 11.35