2013-02-26 53 views
2

我遇到此查询显示算术溢出错误的问题。算术溢出错误将数字转换为数据类型数字插入

INSERT INTO seed_health_testing_form (seedlotno, modeoftesting, datetested, 
    datecollected, placecollected, sampleno, germination1, germination2, 
    germination3, germination4, germination5, germination6, germination7, 
    germination8, germination9, germination10, remarks) 
VALUES ('A00075', 'GTest', '2/14/2013', 
    '2/19/2013', 'Laguna', 0, 50.00, 50.00, 
    50.00, 50.00, 0.00, 0.00, 0.00, 
    0.00, 0.00, 0.00, '') 

表设计

[id]    [int]  IDENTITY(1,1) PRIMARY KEY NOT NULL 
[seedlotno]   [varchar](50) NULL 
[modeoftesting]  [varchar](100) NULL 
[datetested]  [datetime]  NULL 
[datecollected]  [datetime]  NULL 
[placecollected] [varchar](100) NULL 
[sampleno]   [int]   NULL 
[germination1]  [decimal](3, 2) NULL 
[germination2]  [decimal](3, 2) NULL 
[germination3]  [decimal](3, 2) NULL 
[germination4]  [decimal](3, 2) NULL 
[germination5]  [decimal](3, 2) NULL 
[germination6]  [decimal](3, 2) NULL 
[germination7]  [decimal](3, 2) NULL 
[germination8]  [decimal](3, 2) NULL 
[germination9]  [decimal](3, 2) NULL 
[germination10]  [decimal](3, 2) NULL 
[remarks]   [varchar](1000) NULL 

我试图通过线折断插入查询线追查错误是,但它始终指向1号线还是我找不到在哪里我的问题是。

回答

6

所有的[decimal](3, 2)数据类型都是问题。

(3,2)告诉你,该数字可以有一个3位总数的精度,2位保留为小数部分。

因此,您只有1位可用于存储值,如50,这会导致溢出。

查看decmial datatype documentation了解更多信息。

+0

我认为(3,2)是3整数和2位小数位。这就是为什么1.00不会给我错误。谢谢 – pvzkch 2013-02-26 18:09:24

相关问题