文字列内の文字のリストをマップされた文字に置き換える必要があります。
「CharacterToFilter」と「ReplacementCharacter」の 2 つの列を持つテーブル「dbo.CharacterMappings」があります。
このテーブルに 3 つのレコードがあるとします。
Filter Replacement
$ s
@ a
0 o
これらのマッピングに基づいて、文字列内のすべてのフィルター文字をどのように置き換えますか?
つまり、'Hell0 c@t$' は 'Hello cat' になる必要があります。
テーブル変数に頼らずにそれをループすることなく、これを行う方法は本当に考えられません。つまり、「カウント」列を持つテーブル変数があり、ループを使用して、この列に基づいて一度に 1 行を選択します。次に、REPLACE 関数を使用して文字を 1 つずつ更新します。
編集:私は常にこれらの文字を取り除きたいことに注意する必要があります(たとえば、 $5 -> s5 について心配する必要はありません)。