2013-02-26 99 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

相關問題