SSIS 2008数据流中的派生列转换编辑器未按预期过滤

时间:2014-04-02 09:16:53

标签: ssis

我正在尝试使用派生列转换任务中的表达式过滤数据流中的特定字符串。 我想要过滤掉的字符串是

0 0 0 0

然而输出的不是NULL而是

0 0- 0- 0

我尝试了很多表达式,下面有几个样本

[MSTUB-xInt_Only-Rev-Dt] == "0" + " " + "0" + " " + "0" + " " + "0" ? NULL(DT_WSTR,10) : SUBSTRING([MSTUB-xInt_Only-Rev-Dt],5,4) + "-" + SUBSTRING([MSTUB-xInt_Only-Rev-Dt],3,2) + "-" + SUBSTRING([MSTUB-xInt_Only-Rev-Dt],1,2)

[MSTUB-xInt_Only-Rev-Dt] == "00000000" || [MSTUB-xInt_Only-Rev-Dt] == "0 0 0 0" || [MSTUB-xInt_Only-Rev-Dt] == "0 0- 0- 0" ? NULL(DT_WSTR,10) : SUBSTRING([MSTUB-xInt_Only-Rev-Dt],5,4) + "-" + SUBSTRING([MSTUB-xInt_Only-Rev-Dt],3,2) + "-" + SUBSTRING([MSTUB-xInt_Only-Rev-Dt],1,2)

以下是转换任务的输入
MSTUB-xInt_Only-REV-DT
0 0 0 0
1052013

这是输出
MSTUB-xInt_Only-REV-DT
 0 0- 0- 0
2013年1月5日

似乎有一个问题是识别0之间的空格? 非常感谢任何有关这方面的指导。

1 个答案:

答案 0 :(得分:0)

字符串之后或之前可能有空格;在比较之前尝试修剪,例如修剪([MSTUB-xInt_Only-Rev-Dt])==“0 0 0 0”......