派生列中的ssis数据转换

时间:2014-02-07 14:35:27

标签: ssis

我昨天发布了一个与数据转换有关的问题。 现在我正在重新解决这个问题,如下所示。

我有一个文本文件,其中我有日期和时间为字符串。 所以我需要阅读strin(日期+时间) 然后在双重

中翻转

我们可以在下面的例子中看到。

"Date"       "Time"       "Converted Double"
"01/31/2014" "30:00.0" to "41670.3541666667"

现在我已完成如下转换。

“日期G”,“时间G”,Concatinated_Date_Time“

“41670.0000000000”,“00:00.0”,“01/31/2014 00:00.0”,

我用followin来转换日期G. (DT_NUMERIC,16,10)(DT_DATE)[日期G]

但是当我尝试用“Concatinated_Date_Time”做同样的事情时,它给了我错误。 我需要双重形式的“Concatinated_Date_Time”(41670.548400000)。

现在我想出了问题所在。 问题在于“时间G”部分,当我尝试将“时间G”转换为DT_Date时,它会给我错误。

请帮帮我。

谢谢

1 个答案:

答案 0 :(得分:0)

最后我想出来了!

我遵循了以下步骤。

  1. 将字符串“DATE G”转换为DT_DATE
  2. DATEADD(“Hh”,0,从步骤1输出)
  3. SUBSTRING(“TIME G”,1,2)存储在一个输出中,SUBSTRING(“TIME G”,3,2)存储在一个输出中,SUBSTRING(“TIME G”,5,3)存储在一个输出

  4. 使用DATEADD()添加所有内容并输出到DT_DATE的输出,因为它的输出是DT_DBTIMESTAMP,无法直接转换为DT_Numeric。

  5. 5从第4步输出转换为(DT_NUMERIC)输出

    全部谢谢

    如果没有解释清楚,请告诉我。

    谢谢大家