SSIS 派生列将当前年份 (YYY) 的前 3 个值添加到字符串日期 (MMDDY)

SSIS Derived Column to add first 3 values of current year (YYY) to a string date (MMDDY)

我有一个字符串日期值缺少 2019 年的 201。 字符串值 03189101545 应该是 03-18-(201)9 10:15:45

我从序列号变量中进行了左移以提取 03189,但不太清楚如何加回整年。

LEFT([Serial Number],5)

到目前为止,我已经尝试过强制转换,但失败了。

(DT_DBTIME)LEFT([Serial Number],5)

我想做一个

(DT_DATE) DATEADD("yyyy", 0, (LEFT([Serial Number],5)))

不过好像是演员表的问题

尝试使用以下表达式,它将字符串转换为 ISO 格式 yyyy-MM-dd HH:mm:ss 然后将其转换为日期:

(DT_DATE)("201" + SUBSTRING([Serial Number], 5,1) + "-" +
    LEFT([Serial Number], 2) + "-" +
    SUBSTRING([Serial Number], 3,2) + " " +
    SUBSTRING([Serial Number], 6,2) + ":" +
    SUBSTRING([Serial Number], 8,2) + ":" +
    RIGHT([Serial Number], 2))

如果您只想将 201 添加到现有值,请使用:

LEFT([Serial Number], 4) + "201 + RIGHT([Serial Number], 7)