我努力了:
add_months('date_column', -'number_of_months_column')
我得到:
错误 [3535] 字符串转换为数值失败。
我想用这个add_months
选项做些什么?
我努力了:
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))
是的,我相信这是可能的。但是您需要确保第二个参数是数字数据类型。根据该错误,某些记录似乎无法隐式转换为数字。
以下详细信息来自有关错误 3535及其解决方案的 Teradata 文档。
解释:
查询中的字符串常量在上下文中要求它表示一个数值,而它不需要。
补救:
将常量更改为数值或表示数值的字符串。