文字列の一部を更新および置換する 質問する

文字列の一部を更新および置換する 質問する

2 つの列を持つテーブルがありますID。2Value番目の列の文字列の一部を変更したいと思います。

表の例:

ID            Value
---------------------------------
1             c:\temp\123\abc\111
2             c:\temp\123\abc\222
3             c:\temp\123\abc\333
4             c:\temp\123\abc\444

123\文字列内のはValue不要になりました。試してみましUPDATEREPLACE:

UPDATE dbo.xxx
SET Value = REPLACE(Value, '%123%', '')
WHERE ID <= 4

スクリプトを実行すると、SQL Server はエラーを報告しませんが、何も更新されません。なぜでしょうか?

ベストアンサー1

ワイルドカードは必要ありませんREPLACE。2 番目の引数に入力した文字列を検索するだけなので、次のようにすれば動作するはずです。

UPDATE dbo.xxx
SET Value = REPLACE(Value, '123', '')
WHERE ID <=4

置換する列がtypeの場合text、またはntextnvarcharにキャストする必要がある場合

UPDATE dbo.xxx
SET Value = REPLACE(CAST(Value as nVarchar(4000)), '123', '')
WHERE ID <=4

おすすめ記事