我有一个数据表,其值包含超过 12 个小数位(例如451234.123456789012
),我从 Excel 工作表中获取。我正在使用用户定义的表将数据表中的值插入到 SQL 表中。
在我的存储过程中,我有一个声明,例如,
insert into tblMytable(fld1, fld2..)
Select fld1, fld2,.. from @MyUDT
问题:
假设所有 Excel 单元格类型都是“常规”,我在数据表中获得了完整的精度,但是当我将其插入到 SQL 表中时,我失去了除了 2 个精度之外的所有精度。
假设所有 Excel 单元格类型都是“文本”,我得到的整个值只有 12 位,包括非十进制。小数部分。例如对于
451234.123456789012
,我正在进入451234.12345
我的 C# 数据表。我在插入 SQL 表后得到的结果也是一样的。
在我的 UDT 中,字段定义为varchar(20)
,我检查过varchar(45)
但没有用。