2016-11-18 11 views
0

ノートの文字の左側にすべてを削除します。これはSSISないSQL ServerのSSIS:文字列

である私は、ファイルからデータを引っ張っていますし、いくつかの列は、このような名前があります:どのように

1;&count chocula 
13;&roger ramjet 
123;&mary smith 
45678;&john adams 

をアンパサンドとそのすべてをその左側に削除しますか? 文字にfx変換を使用しています。 私はアンパサンドの文字の位置を見つけて、最初からその位置まで何かを削除することを考えましたが、ssisにはその機能はありません。アンパサンドはどの位置にあってもかまいません。そのような位置にあることが保証されているとは言えません。

ありがとう

+1

使用FINDSTRINGが続い& 何かする前に、すべてを削除する権利(または旧バージョンのストリング)を使用& の位置を取得しますRIGHT([yourcolumn]、LEN([yourcolumn]) - FINDSTRING([yourcolumn]、 "&"、1)) – Joost

答えて

0

RIGHT()関数は、文字列の最後のX文字を取得します。

RIGHT("13;&roger ramjet",12)          = roger ramjet 

上記のXは12です。もちろん、12文字はすべての文字列で機能しません。代わりに、アンパサンドの位置から文字列の長さを引いてXを計算することができます。

LEN(MyColumn])             = 16 
FINDSTRING([MyColumn],"&",1)          = 4 

それとも別の言い方をすれば...

RIGHT([MyColumn], LEN([MyColumn]) - FINDSTRING([MyColumn],"&",1)) = roger ramjet 
+0

私はここに答えを掲載するのを忘れてしまった。すべての支援トロイに感謝します。これは私のために働いた:REPLACE([MyColumn]、SUBSTRING(MyColumn、1、FINDSTRING(MyColumn、 "#"、1))、 "") – Sven

+0

心配はありません。帰ってきて、マーキングを確認してくれてありがとう!あなたがそれを整理してうれしい! –

関連する問題