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)
我有一个字符串日期值缺少 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)