SSIS Date/Numeric 从平面文件转换

SSIS Date/Numeric Conversion from Flatfile

我有一个包含 2 列的平面文件。一种是这种格式的日期时间

2017-11-06T11:16:08 AM GMT

和另一列以这种格式存储的总值

£39.00.

目标是 OLEDB(毫秒 sql),

Column 1 is Datetime and column 2 is Int in the destination 

SSIS 中使用派生列的数据转换未返回列 1(日期)所需的输出

PS: 目标数据类型不能改变

派生列:

第 2 列返回子字符串

的值
(DT_STR,50,1252)SUBSTRING(Total,3,20) 

第 1 列 (orderDate) 需要替换 T 和 Am/Pm 值,输出应为

2017-11-06 11:17:40   from 2017-11-06T11:16:08 AM GMT

您可以使用以下表达式来实现:

SUBSTRING([Order date],1,10) + " " 
+ (FINDSTRING([Order date],"AM", 1 ) > 0 ? SUBSTRING([Order date],12,2)  : SUBSTRING([Order date],12,2)  == "12" ? "00" : (DT_WSTR, 2 )((DT_I4)SUBSTRING([Order date],12,2) + 12))
+ SUBSTRING([Order date],14,6)