首页 新闻 会员 周边 捐助

sql server 将 numeric 转换为数据类型 numeric 时出现算术溢出错误

0
悬赏园豆:5 [已关闭问题] 关闭于 2013-06-27 13:47

各位大神 ,

declare @total_fee DECIMAL(18,2);
DECLARE @totalSkuPrice DECIMAL(18,2);
declare @tbitem_num DECIMAL(18,2);
DECLARE @zhekou DECIMAL(18,2);
set @total_fee=339.00
set @totalSkuPrice=370.00
set @tbitem_num=1.00
set @zhekou=@total_fee/(@totalSkuPrice *@tbitem_num)

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

将最后一句改成:set @zhekou=round(round(@total_fee,2)/(round(@totalSkuPrice,2) *round(@tbitem_num,2)),2),也报出同样的错误,这个怎么解决???

Journey31的主页 Journey31 | 初学一级 | 园豆:69
提问于:2013-06-27 10:30
< >
分享
所有回答(2)
0

尝试把set @zhekou=@total_fee/(@totalSkuPrice *@tbitem_num)这句,除数变化为一个decimal,初步怀疑是decimal*decimal改变了数据类型。

幻天芒 | 园豆:37207 (高人七级) | 2013-06-27 12:43
0

只要加一个,SET NUMERIC_ROUNDABORT OFF可以了

Journey31 | 园豆:69 (初学一级) | 2013-06-27 13:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册