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

小野马1209 2018-08-16 08:57:58
执行以下更新脚本报错,求解:
declare @temp  table (AddTotalCostAmt numeric(19,9),CU_AddTotalBuildAmt numeric(19,9),CU_PredictCostRate numeric(9,7))

insert into @temp select 2035360.000000000,9600.000000000,0

select * from @temp

update @temp set CU_PredictCostRate=ROUND(AddTotalCostAmt/CU_AddTotalBuildAmt,4)

...全文
950 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 版主 2018-08-16
  • 打赏
  • 举报
回复
引用 2 楼 kaijie_wu1209 的回复:
[quote=引用 1 楼 sinat_28984567 的回复:]
把CU_PredictCostRate 生成明 numeric(19,7)
declare @temp  table (AddTotalCostAmt numeric(19,9),CU_AddTotalBuildAmt numeric(19,9),CU_PredictCostRate numeric(19,7))

insert into @temp select 2035360.000000000,9600.000000000,0


update @temp set CU_PredictCostRate=ROUND(AddTotalCostAmt/CU_AddTotalBuildAmt,4)
是因为这个比率字段小数位数太少是吗[/quote]
shi
小野马1209 2018-08-16
  • 打赏
  • 举报
回复
引用 1 楼 sinat_28984567 的回复:
把CU_PredictCostRate 生成明 numeric(19,7)
declare @temp  table (AddTotalCostAmt numeric(19,9),CU_AddTotalBuildAmt numeric(19,9),CU_PredictCostRate numeric(19,7))

insert into @temp select 2035360.000000000,9600.000000000,0


update @temp set CU_PredictCostRate=ROUND(AddTotalCostAmt/CU_AddTotalBuildAmt,4)
是因为这个比率字段小数位数太少是吗
二月十六 版主 2018-08-16
  • 打赏
  • 举报
回复
把CU_PredictCostRate 生成明 numeric(19,7)
declare @temp  table (AddTotalCostAmt numeric(19,9),CU_AddTotalBuildAmt numeric(19,9),CU_PredictCostRate numeric(19,7))

insert into @temp select 2035360.000000000,9600.000000000,0


update @temp set CU_PredictCostRate=ROUND(AddTotalCostAmt/CU_AddTotalBuildAmt,4)

34,589

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧