我有一个包含2列的Flat文件。一个是这种格式的日期时间
2017-11-06T11:16:08 AM GMT
以此格式存储的另一列总值
£39.00
。
目的地是OLEDB(ms 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
答案 0 :(得分:1)
您可以使用以下表达式来实现此目的:
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)