为什么会出现转换错误?我什至没有转换任何东西,即使在调试代码时也无法弄清楚问题出在哪里。
DECLARE @pTbl NVARCHAR(20) = 'tblTPS'
DECLARE @sMD FLOAT = 3.3333333300000e-001
DECLARE @sIQ FLOAT = 000000000000.000e+000
SET @SQL ='UPDATE ' + @pTbl + ' SET fldND = (CASE WHEN fldND < ('+@sMD+' - (2 *
'+@sIQ+'))
THEN '+@sMD+' - (2 * '+@sIQ+') ELSE
(CASE WHEN fldND > ('+@sMD+'+(2 * '+@sIQ+')) THEN '+@sMD+' + (2 *
'+@sIQ+')END)END)'
EXEC @SQL
还要将@sMD和@sIQ声明为NVARCHAR。您正在获取转换错误,因为您正在尝试在构建@SQL
语句时将其添加到varchar变量中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句