回答:
上記を試しましたが、正しい結果が得られませんでした。次のものは:
update table
set path = replace(path, 'oldstring', 'newstring') where path = 'oldstring'
where path like '%oldstring%'
?
すべての答えは素晴らしいですが、私はあなたに良い例をあげたいだけです
select replace('this value from table', 'table', 'table but updated')
このSQLステートメントは、指定されたステートメント(最初のパラメーター)内の「テーブル」という単語(2番目のパラメーター)の存在を3番目のパラメーターに置き換えます。
初期値はですthis value from table
が、置換機能を実行した後、this value from table but updated
これが実際の例です
UPDATE publication
SET doi = replace(doi, '10.7440/perifrasis', '10.25025/perifrasis')
WHERE doi like '10.7440/perifrasis%'
たとえば、この値がある場合
10.7440/perifrasis.2010.1.issue-1
なる
10.25025/perifrasis.2010.1.issue-1
これにより視覚化が向上することを願っています
ターゲット列タイプがtextのようにvarchar / nvarchar以外の場合、列値を文字列としてキャストし、それを次のように変換する必要があります。
update URL_TABLE
set Parameters = REPLACE ( cast(Parameters as varchar(max)), 'india', 'bharat')
where URL_ID='150721_013359670'
置換機能を使用してパスを置換する必要があります。
update table_name set column_name = replace(column_name, 'oldstring', 'newstring')
ここに column_name
は、変更する列を参照しています。
それがうまくいくことを願っています。
また、実行時にメールテンプレートの大きなテキストを置き換えることもできます。これがその簡単な例です。
DECLARE @xml NVARCHAR(MAX)
SET @xml = CAST((SELECT [column] AS 'td','',
,[StartDate] AS 'td'
FROM [table]
FOR XML PATH('tr'), ELEMENTS ) AS NVARCHAR(MAX))
select REPLACE((EmailTemplate), '[@xml]', @xml) as Newtemplate
FROM [dbo].[template] where id = 1
where path like '%oldstring%'
データが多い場合は、通常、追加します。