2014-03-31 118 views
2

我想從Excel導入到SQL Server的表中,並且有一個字段有時包含日期(mm/dd/yyyy),有時包含日期和文本(mm/dd/yyyy notes)。從Excel導入到SQL Server的日期轉換爲數字

當我使用導入嚮導時,只有日期的行被轉換爲五位數(#####)。具有日期和文本的行正常顯示。還有另一個字段只是一個日期,並且正常導入爲日期時間。

我也試着寫在Excel中導入語句如下:

="Import into MyTable values('"&A2&"','"&B2&"', [...])" 

但也格式化日期爲五位數。

有沒有人有建議導入此字段並保留日期格式?如果這是不可能的,那麼我可以從五位數轉換回日期嗎?

+1

我建議您將excel中的字段格式更改爲文本。根據我的經驗,SQL Server會自動將字段導入爲文本(DT_String IIRC),並且應該保持原樣。 – Jerry

+0

@Jerry Excel將格式化爲文本後,即可將日期更改爲五位數字。 (還是)感謝你的建議。 – Pat

+1

嗯,對。那麼首先將excel導出到txt文件,通過製表符分隔符「Save As> Text(Tab Delimiter).txt」並將該文件導入到SQL中? – Jerry

回答

3

你可以試試這個:

  1. 先用Tab鍵導出Excel文件作爲文本分隔符使用另存爲:

    enter image description here

  2. 然後打開SQL Server和導入嚮導,選擇平面文件(這是SQL用於原始文本文件,CSV等的名稱):

    enter image description here

在此之後,只要確保你有正確的東西設置:

enter image description here

我強調的是,通常在導入過程中重要的部分。

+1

與花哨的截圖和一切。非常好。 – Pat

+0

@Pat Yea ^^;我無法確定數據會如何反應,因爲有時候我沒有看到,所以我想確保手頭上有不同的選項。 – Jerry