我来自 Oracle 背景,无法弄清楚如何将日期字符串从平面文件(MM/DD/YYYY HH:MM:SS.SSS格式)转换为 SSIS 中的日期类型。
日期字符串的示例是:10/9/2013 11:29:24.933
我应该使用什么日期格式,我应该怎么做?
假设日月都没有前导零,小时是 24 小时制,我需要保持秒的精度。
派生列代码:
(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
我发现的是,
如果您的源日期在 Excel 中以 MM/DD/YYYY 格式存储为文本,请确保您的系统日期设置相同,否则请更改它。转到区域和语言更改短日期,反之亦然。
检查这种情况。它对我有用。