DateTime expressions operate within the rules of the Gregorian calendar.
When an evaluation returns a value outside the permissible range for any contained field or impermissible according to the natural rules for DATE and TIME values, an error occurs.
For example, the following operation, which evaluates to invalid date '1996-09-31', returns an error.
SELECT DATE '1996-08-31' + INTERVAL '1' MONTH;
The following statement returns the desired result, '1996-09-30':
SELECT DATE '1996-08-31' + INTERVAL '30' DAY;