繁体   English   中英

解决插入语句在SQL中的“将varchar转换为数值类型的数值的算术溢出错误”

[英]Resolving “Arithmetic overflow error converting varchar to data type numeric” in SQL for insert statement

我想用以下列数据类型创建一个SQL表。

  1. 姓名:Varchar
  2. 等级:数据将带有“#”,后跟数字,也可以是varchar。 例如:#1,#2,TML
  3. 大小:可以是整数和分数。 例如:26 / 30、80、85 / 69
  4. 平均值:将为十进制数字。

我已经根据上述要求创建了表:

CREATE TABLE [dbo].[Report_Proj](
[Name] [nvarchar](255) NOT NULL,
[Grade] [nvarchar](50) NOT NULL,
[Sizes] [float](10) NOT NULL,   
[Average][decimal](10, 10) NOT NULL

但是,当我将数据插入此表时,出现错误消息“ Msg 8115,级别16,状态8,第1行算术溢出错误,将varchar转换为数值类型的数据。 该语句已终止。”

我可能在哪里出错了。 需要以上数据用于报告目的,以后将不进行任何数学计算。

只需将十进制值数据类型更改为(10,2)

declare  @Report_Proj TABLE (
    [Name] [nvarchar](255) NOT NULL,
    [Grade] [nvarchar](50) NOT NULL,
    [Sizes] [float](10) NOT NULL,   
    [Average][decimal](18, 2) NOT NULL)

    insert into @Report_Proj ([Name],[Grade],[Sizes],[Average])values ('ram','#1',26/30,10.2)

    select * from @Report_Proj

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM