使用ssis派生列将yymmdd转换为datetime

时间:2014-08-19 21:07:14

标签: ssis type-conversion string-to-datetime

以下是代表出生日期的字符串(yymmdd)。我想将其转换为日期时间格式并使用ssis加载到数据库中。我该怎么做?在我的派生列中,我有(DT_DATE)(SUBSTRING([Drv DOB],1,2)+“ - ”+ SUBSTRING([Drv DOB],3,2)+“ - ”+ SUBSTRING([Drv DOB],5 ,2)),但它不起作用。

我得到了这些错误:

  1. [派生列[2]]错误:尝试执行类型转换时发生错误。
  2. [派生列[2]]错误:SSIS错误代码DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 “派生列”失败,因为出现错误代码0xC0049064,并且“派生列。输入[派生列输入] .Columns [Drv DOB]”上的错误行处置指定出错时失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。
  3. •470324 •470324 •470209 •101 •0

2 个答案:

答案 0 :(得分:0)

YEAR有4个数字而不是2,所以它将是:

(DT_DATE)("20" + SUBSTRING([Drv DOB],1,2) + "-" + 
                 SUBSTRING([Drv DOB],3,2) + "-" + 
                 SUBSTRING([Drv DOB],5,2))

答案 1 :(得分:0)

这对我有用!谢谢大家

([Drv DOB] == "0") || ([Drv DOB] == "101") ? NULL(DT_DBTIMESTAMP) : (DT_DBTIMESTAMP)(SUBSTRING([Drv DOB],1,2) + "-" + SUBSTRING([Drv DOB],3,2) + "-" + SUBSTRING([Drv DOB],5,2))
相关问题