改错sql语句???
表结构如下:a1,a2都为numeric(18,6)格式的数据
a1 a2
现在执行sql语句
update tab_ set a2=a1+a1*0.08 where id=1
报错:将 numeric 转换为数据类型 numeric 时出现算术溢出错误。
求解??
[解决办法]
试试:
update tab_ set a2=a1+convert(numeric(18,6),(a1*0.08)) where id=1
[解决办法]
a1+a1*0.08,将a1*0.08,或者a1+a1*0.08格式化一下
[解决办法]
根据你的错误是超长截断
所以我估计你的数据在修改操作的时候产生了超出范围的数据
你检查下 a1的值,如果a1+a1*0.08会产生超过小数点左边12位长度的值,则肯定会报这个错误
[解决办法]