2011-10-11 36 views
0

我在將數據從EXCEL導入到SQL時遇到問題。在SQL中的導入嚮導中,字段/ s的數據類型處於浮動狀態(因爲數據僅包含數字,IDNumber,BiometricNumber和BankAccountNumber),因此SQL中此字段的數據類型爲varchar,並且當我查詢或將數據傳輸到其他表格的價值改變ito浮動與e +數字。任何人?如何將數據從float類型的excel中導入到sql server 2008中的varchar中

+0

你有沒有嘗試在Excel中使用「格式化單元格」? – 2011-10-11 05:52:27

+0

還沒有,但我試了一下,謝謝。 – Rob

+1

如果有人想知道爲什麼一個數據元素BankAccountNumber的類型是FLOAT,那麼考慮Excel的Access(ACE,Jet,whatever)SQL只有一個數字數據類型;) – onedaywhen

回答

2

首先,確保您在連接字符串中使用了IMEX=1,並且相應的註冊表項值已適當設置。有關完整詳情,請參閱this article

個人而言,我從來沒有遇到過科學記數法的問題,但有少數人在評論中報告過類似的問題,因此可能值得通過它們進行拖網。這裏有一對夫婦,我看到:

在SQL中,Format([COLUMN NAME], ‘@’) As [COLUMN NAME]

在Excel中,列有要格式化(格式單元)爲「一般」(不 格式化爲「文本」)。

我不能爲他們提供擔保,雖然;)

+0

我已經嘗試格式化爲一般和文本,但MSSQL仍將其設置爲浮動! –

+0

@Huei:但你有沒有設置'IMEX = 1',設置適當的註冊表設置等?這篇文章的鏈接被打破了,但是使用google搜索「IMEX = 1」,我的句柄(OneDayWhen)會顯示更多細節,例如這裏:http://www.instantpages.ltd.uk/ADODB_WP.htm – onedaywhen

+0

...或此答案:http://stackoverflow.com/a/10102515/15354 – onedaywhen

0

我改變了Excel列的數據類型爲「文本」時,它是「一般」和32位SQL Server導入工具把它撿起來作爲一個nvarchar。

相關問題