我只需要在SSIS派生列中编写最重要的表达式,以获取格式为“01-JAN-2010”的日期。它看起来像这样:
必须有更好的方法......不存在吗?
答案 0 :(得分:5)
考虑使用脚本组件,然后Row.stringcol = Row.datecol.ToString("dd-MMM-yyyy")
填充数据流中的新字符串列。
答案 1 :(得分:5)
如果你想使用表达式,你可以改用:
右(“0”+(DT_WSTR,2)DAY(ASSIGNMENT_BEGIN_DATE),2)+“ - ”+ SUBSTRING(“JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC”,(3 *月(ASSIGNMENT_BEGIN_DATE)) - 2,3)+(DT_WSTR,4 )YEAR(ASSIGNMENT_BEGIN_DATE)
没有说它更好。它只是不同而且更短。如果您想要更好的控制,请使用脚本作为Cade建议。
答案 2 :(得分:3)
好的,现在我觉得自己像个驴子。简单的解决方案是使我的数据源成为一个select语句,我只需这样处理该列:
SELECT to_char(assignment_begin_date, 'dd-MON-yyyy') assignment_begin_date FROM ...
RDBMS是Oracle,顺便说一句。
然后我不需要做派生列或脚本。
我自己管理了一个麻烦,以至于没有考虑过它。感谢大家的帮助。