2017-04-10 56 views
2

人有,为什么这SSIS表达不工作SSIS表达

派生列名是from_service_date_yyyymmdd

表达是

(DT_STR,4,1252)from_service_date_yyyy + RIGHT("0" + (DT_STR,2,1252)from_service_date_mm,2) + RIGHT("0" + (DT_STR,2,1252)from_service_date_dd,2) 

from_service_date_yyyyfrom_service_date_mmfrom_service_date_dd都有有效值

任何想法

派生列转换的输出不具有from_service_date_yyyymmdd。我无法弄清楚为什么。

+1

'from_service_date_'列的数据类型是什么? – Filburt

+1

__派生列转换的输出没有from_service_date_yyyymmdd_是什么意思?你是说这一列没有添加到你的数据流?如果双击输出行并检查元数据标签,您看到了什么? - 它在那里?您可能需要截取您的派生列转换以进行澄清 –

+2

@DickRosenberg欢迎来到Stackoverflow,在我看到您的个人资料后,您提出了3个问题,并获得了有用的答案和许多评论,但您没有做出任何回复......当您提出问题时回答给你答案的人。如果答案解决了您的问题,您必须接受它,否则您必须提供答复。它首先通过[Stack OverFlow Tour](http://www.stackoverflow.com/tour)了解有关此社区的更多信息 – Hadi

回答

1

你的表情看起来不错,但你错过了在列名的括号,你必须投列DT_WSTR,而不是DT_STR因为RIGHT()功能resultDT_WSTR类型,并在需要时

投全结果 DT_DTR
(DT_WSTR,8,1252)((DT_WSTR,4)[from_service_date_yyyy] + RIGHT("0" + 
(DT_WSTR,2)[from_service_date_mm],2) + RIGHT("0" + 
(DT_WSTR,2)[from_service_date_dd],2))