我有一个关于SSIS转换的问题。 我正在尝试将StartDATE从DT_WSTR转换为Datetime2(对于SQL Server)
我的日期原始如此20140804,但我需要将其转换为Datetime2,格式为2014-08-04 00:00:00.0000000。
我之前使用StartDATE列做的是:
RTRIM(DATSTHYRA)
因为我需要删除空格......
我想我可以使用已经派生的列并添加一个新表达式将其转换为Datetime2,但我遇到了问题,并且无法在线找到涵盖我的问题的主题。
答案 0 :(得分:0)
您只需一步即可完成。 添加派生列转换 - 使用SUBSTRING函数将YYYYMMDD字符串转换为YYYY-MM-DD,然后 - 转换为需要缩放的DT_DBTIMESTAMP2。这会产生类似
的表达式(DT_DBTIMESTAMP2, 7)(SUBSTRING([StartDATE],1,4) + "-" + SUBSTRING([StartDATE],5,2)
+ "-" + SUBSTRING([StartDATE],7,2))
然后在此派生列转换上配置错误输出以捕获和处理转换错误。
答案 1 :(得分:0)
在SSIS中,您可以使用数据转换转换,SSIS中的数据类型映射database timestamp with precision
适用于SQL Server中的datetime2
。