ssis将数据从源转换为目标

时间:2015-07-14 06:43:52

标签: sql-server ssis

我在excel源代码中有以下数据:

Date: 1-Jun-15
Received: 10
Answered: 9
AvgWaitTime: 0:00:05
AvgHandleTime: 0:00:07
Abandoned: 1

目的地表格如下:

Date date,
Received float,
Answered float,
AvgWaitTime time(7),
AvgHandleTime time(7),
Abandoned float

当我尝试导入数据时,我在输入列日期中收到错误,因为sql无法将其转换为日期格式。我根据sql给出的建议创建了一个新表,从而超越了这一点。在新表中,日期列的数据类型是datetime。然后我陷入了AvgWaitTime,因为sql无法将其转换为时间格式。

有没有办法从源转换所有必需的列数据,然后将其放到目标位置?提前谢谢。

1 个答案:

答案 0 :(得分:1)

在目标表中,您可以将列日期的类型更改为字符串。它应该工作。然后,您可以使用放置在源和目标之间的任务中的原始列来将其更改回日期(键入datetime,derrived column选项卡使用replace)。未经测试的代码如下:

> (DT_DATE)("20" + 
>     SUBSTRING([ReceivedDt], 1, 2)  + "-" + 
>     SUBSTRING([ReceivedDt], 3, 2)  + "-" +
>     SUBSTRING([ReceivedDt], 5, 2))