MONTHS_BETWEEN function returns the number of months between two dates.
Syntax: MONTHS_BETWEEN(date_expression1,date_expression2);
Syntax: MONTHS_BETWEEN(date_expression1,date_expression2);
Months Between Function Details
MONTHS_BETWEEN function returns an integer number if the days are the same.
SELECT MONTHS_BETWEEN (DATE '2012-02-12', DATE '2012-01-12') FROM DUAL;
MONTHS_BETWEEN function returns an integer number if the both dates specify the last day of the month.
SELECT MONTHS_BETWEEN (DATE '2012-02-29', DATE '2012-01-31') FROM DUAL;
MONTHS_BETWEEN function returns a decimal number if the days are different.
SELECT MONTHS_BETWEEN (DATE '2012-02-29', DATE '2012-02-01') FROM DUAL;
MONTHS_BETWEEN always calculates the fractional part as the difference in days divided by 31
In the example above, the fractional part is calculated as (29 - 1)/31 = 0.903225806, although there are 29 days in February 2012.
You can also see that MONTHS_BETWEEN does not return an integer result if you specify the first and last days of the same month.
No comments:
Post a Comment