2011-03-16 64 views
0

喂所有子串,幫助在SSIS

我有在SSIS(派生列)的子串功能有點問題。

於是就..
這是可能的輸入字符串:

玩具|分類|汽車|樂高

玩具|熱門&新|女孩&生活方式|娃娃

玩具|新

芭比娃娃|分類|移動

我需要d在第二個「|」之後過濾單詞」

在第一種情況: 「汽車」

在第二種情況下: 「女孩&生活方式」

在第三種情況下: 「」

在第四種情況下: 「移動設備」

我的嘗試是: SUBSTRING(分類,FINDSTRING(類別, 「|」,2)+ 1,FINDSTRING(類別, 「|」,3))

我t不起作用,因爲FINDSTRING(Category,「|」,3)給出索引,但我需要Word的長度!我如何計算字符串中單詞的字符?

謝謝你的幫助和對不起我的英文不好!

問候 亞歷

回答

1

這應該做你想要的...觸摸凌亂,但!

SUBSTRING(Category, FINDSTRING(Category, "|", 2)+1,FINDSTRING(Category, "|", 3)-FINDSTRING(Category, "|", 2)-1) 
+0

謝謝!!這工作:)) – Alexo 2011-03-16 11:56:08

+0

注意到它不適用於只有2個類別的字符串,這裏是一個更新的版本:SUBSTRING(@ [User :: Category],FINDSTRING(@ [User :: Category],「|」 ,2)+ 1,FINDSTRING(@ [User :: Category] ​​+「|」,「|」,3)-FINDSTRING(@ [User :: Category],「|」,2)-1) – grapefruitmoon 2011-03-16 11:58:53