我正在尝试将数据插入SQL Server 2012中的临时数据库。
这是我的数据和使用的数据类型:
1234ab nchar(25) NOT NULL primary key
240 smallint
4535ab nchar(10)
04/01/2013 date
58f658 nchar(6)
584g6555 nchar(9)
Insufficient Data text
10 tinyint
N/A nchar(5)
N/A nchar(5)
4 smallint
N/A nchar(5)
N/A nchar(5)
4 smallint
N/A nchar(5)
N/A nchar(5)
4 smallint
51651.00 numeric(10,7)
65465.50 numeric(14,10)
65465.00 numeric(10,7)
4845.00 numeric(14,10)
04/01/2013 date
5465.00 numeric(18,3)
5465.00 numeric(18,3)
5546.00 numeric(10,7)
test.html text
note test text
导入时,所有非数字数据都包含相应的“'”。
(BTW一些数据类型似乎比需要的大,但这只是一个小数据样本来测试导入)
但我收到以下错误:
Arthimetic overflow int将int转换为数据类型numeric
我只是使用常规INSERT INTO
语句。
我现在已经盯着我的屏幕了很多,所以我可能只是阅读它...但我在这里缺少什么?数据似乎不比域大。
顺便说一句,如果您需要更多信息,请告诉我。
答案 0 :(得分:0)
51651.00数字(10,7)
“数字(10,7)”表示共10个数字,其中7个位于小数点右侧。这并没有给“51651”的十进制左留下足够的空间。
不同的dbms可能会为您提供更详细的错误消息。这个来自PostgreSQL。
ERROR: numeric field overflow
DETAIL: A field with precision 10, scale 7 must round
to an absolute value less than 10^3.