Teradata 错误 2665:无效日期

Teradata Error 2665: Invalid Date

我在 SQLA(Teradata 版本:15.10.01.11)上发布以下 SELECT:

select cast('2018-05-31' as date format 'yyyy-mm-dd') - interval '6' month;

我得到:SELECT 失败。 2665: 无效日期。 任何帮助将不胜感激。

Br,

沙都

根据标准 SQL 从 2018-05-31 中减去 6 个月得到 2017-11-31,这显然不存在。

month/years(2 月 29 日)不能使用区间算法,最好使用 ADD_MONTHS:

ADD_MONTHS(DATE '2018-05-31', -6)

还有 oADD_MONTHS,月末日期可能 return 不同的结果,例如

ADD_MONTHS(DATE '2017-11-30', 6)  -> 2018-05-30
oADD_MONTHS(DATE '2017-11-30', 6) -> 2018-05-31