我有一个Excel 2013工作簿(XLSX),其中包含带小数秒的日期。我试图将其导入SQL Server 2012,但似乎总是失去小数秒。
这是excel表格,显示小数秒:
要在Excel中显示此内容,我使用的是自定义格式:yyyy-mm-dd hh:mm:ss.00 AM / PM。转换为常规时,它显示序列日期41913.5945052431。
当我在SSIS(SQL Server数据工具2012)中创建Excel源时,单击“预览”按钮时会出现以下内容:
秒数到最近的整秒,而不是小数秒。如果我从Excel导出到CSV,我可以导入CSV。这是CSV的图像:
如何在SSIS中获取Excel源以支持小数秒?
答案 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");