Teradata错误2665:无效日期

时间:2018-06-01 09:51:05

标签: teradata invalidation error-code

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

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

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

BR,

Shardul

1 个答案:

答案 0 :(得分:1)

根据标准SQL减去2018-05-31后6个月的结果2017-11-31显然不存在。

区间算术不能用于月/年(2月29日),更好地使用ADD_MONTHS

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

还有oADD_MONTHS,它可能会在月结束日期返回不同的结果,例如

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