2014-10-08 140 views
0

我有以下Excel工作簿:導入從Excel到SQL Server:varchar數據類型的轉換爲datetime數據類型導致超出範圍的值

https://meocloud.pt/link/7cb3ef48-7556-4d36-ab9a-c247d3f7b29d/FichasTeste.xls/

它格式化被導入到SQL數據庫。該服務器的詳細信息如下:

SQL Properties

正如你所看到的映射是在進口商 Mapping

正確的,當我嘗試導入Excel文件後,狀態始終是相同的,沒有重要的是我對日期的列做了修改。

242:將varchar數據類型轉換爲日期時間數據類型導致超出範圍的值。

3621:聲明已終止。

我應該修改什麼,以便可以導入這些行而不會出現該錯誤?

回答

0

Excel將日期存儲爲整數,如果將excel字段更改爲TEXT您會看到,但我不確定爲什麼遇到此問題,您應該能夠直接從Excel導入,並有日期至少你可以使用SQL的導入嚮導以及SSIS。

一個解決辦法是使用Excel中的TEXT()功能讓你的約會變成一個可以接受的格式:

=TEXT(F2,"yyyy-mm-dd") 

我喜歡用OPENROWSET()從Excel導入,但是這需要一些額外的設置,並有它自身的缺點:

SELECT * 
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\YourExcelFile.xls', [Sheet1$]) 
+0

不幸地使用TEXT()沒有幫助。使用分析器,我發現日期總是以「1/1/2013」​​而不是該格式爲例。 – 2014-10-09 09:03:03

相關問題