将小数秒从Excel导入SQL Server

时间:2014-07-01 21:31:32

标签: sql-server excel ssis

我有一个Excel 2013工作簿(XLSX),其中包含带小数秒的日期。我试图将其导入SQL Server 2012,但似乎总是失去小数秒。

这是excel表格,显示小数秒:

2014-10-01 02:16:05.25 PM

要在Excel中显示此内容,我使用的是自定义格式:yyyy-mm-dd hh:mm:ss.00 AM / PM。转换为常规时,它显示序列日期41913.5945052431。

当我在SSIS(SQL Server数据工具2012)中创建Excel源时,单击“预览”按钮时会出现以下内容:

SSIS Preview - 10/1/2014 2:16:05 PM

秒数到最近的整秒,而不是小数秒。如果我从Excel导出到CSV,我可以导入CSV。这是CSV的图像:

1,2014-10-01 02:16:05.25 PM

如何在SSIS中获取Excel源以支持小数秒?

1 个答案:

答案 0 :(得分:1)

尝试使用DT_DBTIMESTAMP数据类型。

OR

您可以使用以下脚本组件。

DateTime dateTime = DateTime.Parse(Dts.Variables["DateTimeString"].Value.ToString());
Dts.Variables["DateTimeString"].Value = dateTime.ToString("yyyy-MM-dd HH:mm:ss.fff");