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

时间:2015-03-18 08:36:56

标签: mysql sql-server

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

  1. 名称:Varchar
  2. 成绩:数据后跟数字“#”,也可以是varchar。例如:#1,#2,TML
  3. 尺寸:可以是整数和分数。例如:26 / 30,80,85 / 69
  4. 平均值:将是十进制数。
  5. 我已根据上述要求创建了表格:

    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,Level 16,State 8,Line 1 将varchar转换为数据类型numeric的算术溢出错误。 声明已经终止。“

    我可能在哪里出错。 需要上述数据用于报告目的,并且将来不会进行任何算法计算。

1 个答案:

答案 0 :(得分:0)

只需将小数值数据类型更改为(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
相关问题