0
我有一个数据表,其中包含超过12个小数位的数值(例如451234.123456789012
),我从Excel工作表中读取数据。我使用用户定义的表格将值从数据表插入到SQL表中。数据表到SQL表丢失精度
在我的存储过程我有这样一个说法,
insert into tblMytable(fld1, fld2..)
Select fld1, fld2,.. from @MyUDT
问题:
假设所有的Excel单元格类型是“常规”我得到了全精度数据表,但是当我将它插入到SQL表中时,我将失去除2精度之外的所有内容。
假设所有的Excel单元格类型都是'文本'我只有12位数字的整个值,包括非小数。小数部分。例如对于
451234.123456789012
,我在我的C#数据表中得到了451234.12345
。和我在插入到SQL表后得到的一样。
在我的UDT的字段定义为varchar(20)
,我varchar(45)
,但没有使用检查。
是您的数据表将它们转换为18字符精度为十进制?或者是数据表全部是字符串? –
@Ted,我是usig oledbDataAdaptor来填补excell到数据表,我没有做任何转换。 – Wilz
数据库中那些列的数据类型是什么?另外:你说* SQL *(结构化查询语言) - 但你的意思是** SQL Server ** - Microsoft RDBMS - 对吗? –