从另一列中的日期减去一列中的值
Subtracting value in one column from the date in another column
我试过:
add_months('date_column', -'number_of_months_column')
我得到:
error [3535] A character string failed conversion to a numeric value.
我尝试使用 add_months
选项可以实现吗?
是的,我相信这是可能的。但是您需要确保第二个参数是数字数据类型。根据错误,某些记录似乎无法隐式转换为数字。
以下详细信息来自有关 Error 3535 及其解决方案的 Teradata 文档。
Explanation:
A character string constant in a query is in a context requiring that
it represent a numeric value, and it does not.
Remedy:
Change the constant to either a numeric value or a character string
that represents a numeric value.
为什么要在列名周围使用单引号?
如果 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))
我试过:
add_months('date_column', -'number_of_months_column')
我得到:
error [3535] A character string failed conversion to a numeric value.
我尝试使用 add_months
选项可以实现吗?
是的,我相信这是可能的。但是您需要确保第二个参数是数字数据类型。根据错误,某些记录似乎无法隐式转换为数字。
以下详细信息来自有关 Error 3535 及其解决方案的 Teradata 文档。
Explanation:
A character string constant in a query is in a context requiring that it represent a numeric value, and it does not.
Remedy:
Change the constant to either a numeric value or a character string that represents a numeric value.
为什么要在列名周围使用单引号?
如果 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))