更新中的T-SQLstringreplace
我需要更新列的值,在现有值上进行子stringreplace。
例:
数据包含abc@domain1
, pqr@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