从'YYYYMMDD'格式转换为SQL Datetime2

时间:2016-09-06 12:03:43

标签: sql-server string ssis datetime2

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

我的日期原始如此20140804,但我需要将其转换为Datetime2,格式为2014-08-04 00:00:00.0000000。

我之前使用StartDATE列做的是:

RTRIM(DATSTHYRA)

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

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

2 个答案:

答案 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