向 'datetime' 列添加值导致溢出
Adding a value to a 'datetime' column caused an overflow
我在 DML 语句中交叉应用了一个 table 值函数,其中 returns 两列,其中一列是 RiskValue(这是一个表示扫描周期的整数)
现在,当我像这样打印值 RiskValue 和 dateadd 函数时(y 是函数别名,am 是另一个 table)
select cast(y.RiskValue as int),dateadd(m,cast(y.RiskValue as int),@RunningDate)
from .....
它给了我正确的值
6 | 'Some Date'
但是当我在 where 子句中使用它时
where am.DateOpen >= dateadd(m,cast(y.RiskValue as int),@RunningDate)
我收到错误:
Adding a value to a 'datetime' column caused an overflow
请注意,将硬编码值作为
where am.DateOpen >= dateadd(m,6,@RunningDate)
工作正常。 (显然会)
有什么错误的建议吗?
我在 DML 语句中交叉应用了一个 table 值函数,其中 returns 两列,其中一列是 RiskValue(这是一个表示扫描周期的整数) 现在,当我像这样打印值 RiskValue 和 dateadd 函数时(y 是函数别名,am 是另一个 table)
select cast(y.RiskValue as int),dateadd(m,cast(y.RiskValue as int),@RunningDate)
from .....
它给了我正确的值
6 | 'Some Date'
但是当我在 where 子句中使用它时
where am.DateOpen >= dateadd(m,cast(y.RiskValue as int),@RunningDate)
我收到错误:
Adding a value to a 'datetime' column caused an overflow
请注意,将硬编码值作为
where am.DateOpen >= dateadd(m,6,@RunningDate)
工作正常。 (显然会)
有什么错误的建议吗?