首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

改错sql话语?

2012-11-09 
改错sql语句???表结构如下:a1,a2都为numeric(18,6)格式的数据a1a2现在执行sql语句update tab_ set a2a1+a

改错sql语句???
表结构如下:a1,a2都为numeric(18,6)格式的数据

a1 a2  


现在执行sql语句

update tab_ set a2=a1+a1*0.08 where id=1

报错:将 numeric 转换为数据类型 numeric 时出现算术溢出错误。


求解??

[解决办法]
试试:

SQL code
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位长度的值,则肯定会报这个错误

[解决办法]
探讨

试试:
SQL code
update tab_ set a2=a1+convert(numeric(18,6),(a1*0.08)) where id=1

[解决办法]
探讨
根据你的错误是超长截断
所以我估计你的数据在修改操作的时候产生了超出范围的数据

你检查下 a1的值,如果a1+a1*0.08会产生超过小数点左边12位长度的值,则肯定会报这个错误

[解决办法]
数据超长所致
[解决办法]

update tab_ set a2=convert(numeric(18,6),(a1*1.08)) where id=1

热点排行