算术溢出错误将数字转换为数据类型数字 [英] Arithmetic overflow error converting numeric to data type numeric

查看:130
本文介绍了算术溢出错误将数字转换为数据类型数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试将值插入表格时,我不断出现将数值转换为数据类型数字的算术溢出错误。我正在使用MS Visual Studios。



我尝试过:



这是表:



Hi, I keep getting arithmetic overflow error converting numeric to data type numeric when I try inserting values into a table. I am using MS Visual Studios.

What I have tried:

this is the table:

CREATE TABLE RESERVATION(
R_RESERVATIONNUM	VARCHAR(7) NOT NULL UNIQUE,
T_TRIPNUM		INTEGER NOT NULL,
R_TRIPDATE		DATE NOT NULL,
R_NUMPERSONS		INTEGER NOT NULL,
R_TRIPPRICE		DECIMAL(3,2) NOT NULL,
R_OTHERFEES		DECIMAL(3,2) NOT NULL,
C_CUSTOMERNUM		VARCHAR(3) NOT NULL,
PRIMARY KEY (R_RESERVATIONNUM),
FOREIGN KEY (T_TRIPNUM) REFERENCES TRIP,
FOREIGN KEY (C_CUSTOMERNUM) REFERENCES CUSTOMER);



这里是插入:




here is the insert:

INSERT INTO RESERVATION VALUES ('1600001',40,'2018-3-26',2,55.00,0.00,'101');
INSERT INTO RESERVATION VALUES ('1600002',21,'2018-6-8',2,95.00,0.00,'101');
INSERT INTO RESERVATION VALUES ('1600003',28,'2018-9-12',1,35.00,0.00,'103');

推荐答案

正确的语法是

Correct syntax is
INSERT INTO RESERVATION (R_RESERVATIONNUM, T_TRIPNUM, R_TRIPDATE, R_NUMPERSONS, R_TRIPPRICE, R_OTHERFEES, C_CUSTOMERNUM) VALUES ( ... );



您必须指明哪些列以及<的顺序code> INSERT 声明要明确什么在哪里。



此外,您为小数列选择的精度似乎有点太低(只有3位数,从小数点开始左右)。使用您提供的值,精度应至少为4,但您可以在不影响用于存储值的字节数的情况下转到9。



请参阅< a href =https://docs.microsoft.com/en-us/sql/t-sql/data-types/decimal-and-numeric-transact-sql?view=sql-server-2017>十进制和数字(Transact-SQL)| Microsoft Docs [ ^ ]以获取更多信息。


You have to indicate which columns, and in which order, for the INSERT statement to be clear about what goes where.

Moreover, the precision you have chosen for your decimal columns seems a little bit too low (only 3 digits, left and right from the decimal point). With the values you provided, precision should be at least 4, but you could go to 9 without impacting the number of bytes used to store the values.

Please see decimal and numeric (Transact-SQL) | Microsoft Docs[^] for further information.


这篇关于算术溢出错误将数字转换为数据类型数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆