如何将MM / DD / YYYY HH:MM:SS.SSS文本转换为SSIS 2012中的日期

时间:2013-11-09 20:39:21

标签: datetime ssis

我来自Oracle背景,无法弄清楚如何将日期字符串从平面文件( MM / DD / YYYY HH:MM:SS.SSS 格式)转换为日期输入SSIS。

日期字符串的示例是: 10/9/2013 11:29:24.933

我应该使用哪种日期格式以及如何使用?

假设日期和月份都没有前导零,小时是24小时,我需要保持秒数'精度。

2 个答案:

答案 0 :(得分:4)

派生列代码:

(DT_DBTIMESTAMP)(SUBSTRING(datestr,FINDSTRING(datestr,"/",2) + 1,4) + "-" + 
 SUBSTRING(datestr,1,FINDSTRING(datestr,"/",1) - 1) + "-" +
 SUBSTRING(datestr,FINDSTRING(datestr,"/",1) + 1,FINDSTRING(datestr,"/",2) - 
                                                 FINDSTRING(datestr,"/",1) - 1) 
 + " " + SUBSTRING(datestr,FINDSTRING(datestr," ",1) + 1,8))

数据:

datestr
5/9/2013 11:29:24.933
11/10/2013 11:29:24.933
10/9/2013 11:29:24.933

结果:

datestr                 Derived Column 6
10/9/2013 11:29:24.933  2013-10-09 11:29:24.000
5/9/2013 11:29:24.933   2013-05-09 11:29:24.000
11/10/2013 11:29:24.933 2013-11-10 11:29:24.000

答案 1 :(得分:0)

我发现的是,

如果源日期以excel格式存储为MM / DD / YYYY格式,请确保您的系统日期设置相同,否则更改它。转到区域和语言更改短日期,反之亦然。

检查此方案。它对我有用。