Difference in Date between Oracle and Teradata
It's simple, Oracle is wrong :-)
select date '1582-10-04'+1, date '1582-10-05'+1, date '1582-10-14'+1, date '1582-10-15'+1 from dual;| DATE'1582-10-04'+1 | DATE'1582-10-05'+1 | DATE'1582-10-14'+1 | DATE'1582-10-15'+1 ||--------------------------------|--------------------------------|--------------------------------|--------------------------------|| October, 15 1582 00:00:00+0000 | October, 16 1582 00:00:00+0000 | October, 25 1582 00:00:00+0000 | October, 16 1582 00:00:00+0000 |
For date differences Teradata uses a Standard SQL calendar implementation, which is a proleptic gregorian calendar, while Oracle uses a proleptic Julian calendar (even if NLS calls it GREGORIAN).
See the paper from Gulutzan/Pelzer: http://www.orafaq.com/papers/dates_o.doc