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 - 對嗎? –