我正在尝试导入一个包含日期列的 excel 表。我的查询在没有列日期的情况下有效。我正在使用 ODBC 导入。
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ActiveWorkbook.FullName & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
cn.Open strCon
cn.Execute "INSERT INTO [ODBC;DRIVER=SQL Server;SERVER=MYSERVEREXPRESS;Trusted_Connection=Yes;DATABASE=TESTDB].[tbTableTest1] ([opDate], [columnFloat], [columnText]) SELECT t.MY_DATE, t.COL1, t.COL2 FROM [BD$] t"
我的桌子:
MY_DATE COL1 COL2
11/26/2012 21,43 MAR
11/26/2012 21,45 GFM
我究竟做错了什么?
在内部,Excel 将日期存储为整数值。我之前遇到过这个问题,并在 SSIS 和直接 TSQL 中都解决了
https://stackoverflow.com/questions/9085928/reading-in-date-column-if-first-row-isnt-a-date-with-ssis-excel-data-source/9086831#9086831
在您的情况下,您可能需要创建一个实际应用公式的计算列,假设您不必担心 1900 年的日期。
多谢你们。
我只是将日期/数字格式转换为字符串格式。