フラットファイルがあります。 ssisを使用してフラットファイルからソーステーブルにデータを読み込んでいます。列の1つに次の値があります。
<Somecol1 =""1"" col1values= ""223,567,890,653"">
次の列出力が必要です:
<Somecol1 ="1" col1values= "223,567,890,653">
派生列を入れ替えてみました。
REPLACE( COLA, "\"","\")
しかし、これは機能しません。
置換文字列にスラッシュが追加されていることを除いて、式はほぼ正しいと思います。ここにあなたのために働くかもしれない表現があります。
Expression#1:指定された文字列内のすべての二重引用符を削除します。
REPLACE(COLA, "\"", "")
Expression#2:すべてのdoubleの二重引用符をsingle二重引用符の出現。
REPLACE(COLA, "\"\"", "\"")
次に、式#1の例を示します。
Derived Column transformation
内のData Flow task
を示しています。これは、Header。次に、式#2の例を示します。
Derived Column transformation
内のData Flow task
を示していますdoublesingleという二重引用符の出現(という名前の最初の列内の二重引用符の出現)Header。お役に立てば幸いです。
スクリーンショット#1:
スクリーンショット#2:
スクリーンショット#3:
スクリーンショット#4:
スクリーンショット#5:
他の列にこれと同じ問題がない場合、これは機能しない可能性がありますが、これがインポートする唯一のテキスト列であるか、すべてがこのようなものである場合、テキスト識別子を1つではなく2つの二重引用符に変更できます。その後、SSISはそれをフラットファイルから正しく取り出し、後でクリーンアップしようとする必要はありません。
以下のサンプルを見つけてください
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(Client_1,"\"",""),"*",""),",",""),"[",""),"]",""),"'",""),"!",""),"/",""),"<>","")