从Excel导入小数秒到SQL Server

我有一个Excel 2013工作簿(XLSX),包含小数秒的date。 我试图导入到SQL Server 2012年,但它似乎总是失去了小数秒。

这是excel表单显示小数秒:

2014-10-01 02:16:05.25 PM

为了让它在Excel中显示,我使用自定义格式:yyyy-mm-dd hh:mm:ss.00 AM / PM。 当转换为一般时,它显示序列date41913.5945052431。

当我在SSIS(SQL Server数据工具2012)中创build一个Excel源时,我点击预览button时得到以下内容:

SSIS预览 -  10/1/2014 2:16:05 PM

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

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

我如何获得SSIS中的Excel源支持小数秒?

尝试使用DT_DBTIMESTAMP数据types。

要么

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

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