更新中的T-SQLstringreplace

我需要更新列的值,在现有值上进行子stringreplace。

例:

数据包含abc@domain1pqr@domain2

我需要更新这些值,使@domain2被replace为@domain1

REPLACE的语法:

REPLACE(string_expression,string_pattern,string_replacement)

所以你需要的SQL应该是:

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

如果有人关心,对于NTEXT ,请使用以下格式:

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