我遇到这个显示算术溢出错误的查询时遇到问题。
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
我尝试逐行打破INSERT查询以跟踪错误的位置,但它始终指向第1行。但我仍无法找到问题所在。
答案 0 :(得分:7)
您的所有[decimal](3, 2)
数据类型都是问题所在。
(3,2)
告诉您该号码的总精度可达3位,小数部分保留2位数。
因此,您只有1个数字可用于存储50
等值,这会导致溢出。
有关详细信息,请参阅decmial datatype documentation。