テーブルに方程式が保存されています。一度に 1 つの方程式を取得しており、すべての演算子を他の文字に置き換えたいと考えています。
入力文字列: (N_100-(6858)*(6858)*N_100/0_2)%N_35
演算子またはパターン: (+, -, *, /, %, (, ))
置換文字: ~
出力文字列: ~N_100~~6858~~~6858~~N_100~0_2~~N_35
ネストされた REPLACE関数を使用して以下のクエリを試したところ、目的の出力が得られました。
DECLARE @NEWSTRING VARCHAR(100)
SET @NEWSTRING = '(N_100-(6858)*(6858)*N_100/0_2)%N_35' ;
SELECT @NEWSTRING = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
@NEWSTRING, '+', '~'), '-', '~'), '*', '~'), '/', '~')
, '%', '~'), '(', '~'), ')', '~')
PRINT @NEWSTRING
出力: ~N_100~~6858~~~6858~~N_100~0_2~~N_35
ネストされた置換関数を使用せずにすべての演算子を置換するにはどうすればよいですか?