web-dev-qa-db-ja.com

更新でのT-SQL文字列の置換

列の値を更新し、既存の値に対して部分文字列の置換を行う必要があります。

例:

データにはabc@domain1pqr@domain2などが含まれます。

@domain2@domain1に置き換えられるように値を更新する必要があります。

74
Sekhar

[〜#〜] replace [〜#〜] の構文:

REPLACE(string_expression、string_pattern、string_replacement)

したがって、必要なSQLは次のようになります。

UPDATE [DataTable] SET [ColumnValue] = REPLACE([ColumnValue], 'domain2', 'domain1')
137
Kofi Sarfo

NTEXTの場合は、次の形式を使用してください。

SELECT CAST(REPLACE(CAST([ColumnValue] AS NVARCHAR(MAX)),'find','replace') AS NTEXT) 
    FROM [DataTable]
11
Tawani
update YourTable
    set YourColumn = replace(YourColumn, '@domain2', '@domain1')
    where charindex('@domain2', YourColumn) <> 0
6
Joe Stefanelli