插入十进制值时的算术溢出

时间:2016-05-20 14:53:41

标签: sql-server-2014

我有一个表scm.agreement_rebate,其中genericrx_percent列的类型为Decimal(18,4),当我尝试执行此语句时

INSERT INTO scm.agreement_rebate (agreement_id, rebate_type_cd, genericrx_percent, percent_override,
                                  monthly_fee, monthly_fee_override, percent_amount, sales_type_cd,     
                                  system_generated_flag, last_user_id, last_ts) 
VALUES (43958, 192, 1000.0, NULL, NULL, NULL, 1.0, 154, 'N', 1, GETDATE())

我收到错误

  

Msg 8115,Level 16,State 8,Procedure TRG_A_R_A_INS_A,Line 11   算术溢出错误将数字转换为数据类型数字。

问题肯定在于generixrx_percent列。如果我将值更改为100.0,它可以工作。据我所知十进制数据类型,Decimal(18, 4)应该给我18位数字,小数点右边有4位数。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

好的电话,Shnugo。事实证明,尽管我是唯一的开发人员,但仍然有一些我无法访问的对象正在做一些时髦的事情。