SQL SERVER 2012数据类型错误

时间:2013-10-11 04:04:41

标签: sql sql-server

我是SQL Server 2012的新手,在练习时我发现了一个我无法纠正的错误。

我创建了一个包含主键的表和另一个包含其引用的表。参考表:

create table emp
(
   empno integer not null,
   ename varchar(10),
   job varchar(9),
   mgr varchar(10),
   hiredate date,
   sal decimal(7,2),
   comm decimal(12,3),
   deptno integer references dept(deptno)
)

尝试使用

插入值
insert into emp values(100,'Sachin','IT','Srikanth','10-10-2009',
  50000.00,500.00,1)

但是我收到了以下错误。

  

将数字转换为数据类型数字

的算术溢出错误

此外,如果我将COMM的数据类型更改为decimal,则错误消失。

1 个答案:

答案 0 :(得分:0)

在您的查询[decimal(7,2)]中,数据类型是个问题。

(7,2)告诉您该号码的总精度为7位,小数部分保留2位数。

因此,您只有4位可用于存储值,例如 5000.00有效 500000.00会导致溢出