-1

我有一个关于 SSIS 转换的问题。我正在尝试将 StartDATE 从 DT_WSTR 转换为 Datetime2(对于 SQL Server)

我的日期最初看起来像这样 20140804 但我需要将其转换为 Datetime2 格式为 2014-08-04 00:00:00.0000000。

我之前对 StartDATE 列所做的是:

RTRIM(达斯提拉)

因为我需要删除空格...

我想我可以使用已经派生的列并添加一个新表达式将其转换为 Datetime2 但我遇到了问题并且无法真正找到涵盖我的问题的在线主题。

4

2 回答 2

0

在SSIS中,可以使用数据转换转换,database timestamp with precisionSSIS中的数据类型映射是针对datetime2SQL Server中的。

于 2016-09-07T17:19:14.120 回答
0

您可以一步完成。添加派生列转换 - 使用 SUBSTRING 函数将您的 YYYYMMDD 字符串转换为 YYYY-MM-DD,然后 - 转换为需要比例的 DT_DBTIMESTAMP2。这将产生一个表达式

(DT_DBTIMESTAMP2, 7)(SUBSTRING([StartDATE],1,4) + "-" + SUBSTRING([StartDATE],5,2)  
 + "-" + SUBSTRING([StartDATE],7,2)) 

然后在此派生列转换上配置错误输出以捕获和处理转换错误。

于 2016-09-07T13:27:40.287 回答