从另一列的日期中减去一列中的值



我尝试过:

add_months('date_column',  -'number_of_months_column') 

我得到:

错误[3535]字符串转换为数值失败。

我尝试用add_months选项做的事情可能吗?

为什么在列名周围使用单引号

如果number_of_months_column的数据类型是integer,那么这应该有效:

add_months(date_column, -number_of_months_column)

如果number_of_months_column是字符串,则必须首先将其转换为整数:

add_months(date_column, -to_number(number_of_months_column))

或:

add_months(date_column, -cast(to_number(number_of_months_column) as integer))

或:

add_months(date_column, -trycast(to_number(number_of_months_column) as integer))

是的,我相信这是可能的。但您需要确保第二个参数是数字数据类型。根据错误,某些记录似乎无法隐式转换为数字。

以下详细信息来自Teradata文档中关于错误3535及其解决方案的信息。

解释:

查询中的字符串常量位于需要它表示一个数值,而不是。

补救措施:

将常量更改为数值或字符串表示一个数值。

相关内容

  • 没有找到相关文章

最新更新