私は.Net 2013を使用しています.Net 2013は、SQL Serverのバージョンにパッケージ化されていると思います。
編集:例がかなり奇妙であることは理解しています。これは、この質問 の解決策を検討しているときに発生した問題の単なる例です。
編集 2:
私の予想される結果は明らかに人々が期待しているものではないため、下に追加します。混乱させて申し訳ありません。
できれば最終編集 で、テーブルを Hello World のバリエーションから Bacon & Eggs に変更しました。これを数回読んで問題が何であるかを明確にした後、私は斜視になりました. ソース データを読みやすく変更しました。問題が残っています。私がチェックしました。
私は2つのテーブルを持っています。文字列を含むもの。置換される文字列とその置換を含むもの。
*String Table*
Bacon
Eggs
Bacon & Eggs
Eggs & Bacon
*Replacement Table*
Bacon Pork
Eggs Poultry
次に、クロス結合を実行して置換を実行するビューがありますが、正しく機能していません。END の文字列のみを置き換えるように見えるため、これには困惑しています。以下のクエリ結果を参照してください。
SELECT InitialString, ReplacementTarget, ReplacementValue,
REPLACE(InitialString, ReplacementTarget, ReplacementValue)
AS ReplacedString
FROM StringTable CROSS JOIN ReplacementTable
テキストの後半のみが置き換えられることに注意してください。最初の交換が行われ、その後停止するわけではありません。それは少なくとも理にかなっています。これは文字通り、何らかの理由で置換が検証されていないようなものです。
クエリの結果 (アスタリスクでマークされた問題)
InitialString ReplaceTarget ReplaceValue ReplacedString
Bacon Bacon Pork Pork
Eggs Bacon Pork Eggs
Bacon & Eggs Bacon Pork Bacon* & Eggs
Eggs & Bacon Bacon Pork Eggs & Pork
Bacon Eggs Poultry Bacon
Eggs Eggs Poultry Poultry
Bacon & Eggs Eggs Poultry Bacon & Poultry
Eggs & Bacon Eggs Poultry Eggs* & Bacon
. 期待される結果 (YES, I WANT 8 ROWS BACK. SEE LINK ABOVE) (アスタリスクで示される変更)
InitialString ReplaceTarget ReplaceValue ReplacedString
Bacon Bacon Pork Pork
Eggs Bacon Pork Eggs
Bacon & Eggs Bacon Pork Pork* & Eggs
Eggs & Bacon Bacon Pork Eggs & Pork
Bacon Eggs Poultry Bacon
Eggs Eggs Poultry Poultry
Bacon & Eggs Eggs Poultry Bacon & Poultry
Eggs & Bacon Eggs Poultry Poultry* & Bacon
.
この問題に関するヘルプや洞察をいただければ幸いです。:)