更新中的T-SQL字符串替换

时间:2010-12-03 22:35:08

标签: string tsql replace

我需要更新列的值,并在现有值上进行子字符串替换。

示例:

数据包含abc@domain1pqr@domain2等。

我需要更新值,以便将@domain2替换为@domain1

3 个答案:

答案 0 :(得分:133)

REPLACE的语法:

REPLACE(string_expression,string_pattern,string_replacement)

所以你需要的SQL应该是:

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

答案 1 :(得分:11)

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

SELECT CAST(REPLACE(CAST([ColumnValue] AS NVARCHAR(MAX)),'find','replace') AS NTEXT) 
    FROM [DataTable]

答案 2 :(得分:5)

update YourTable
    set YourColumn = replace(YourColumn, '@domain2', '@domain1')
    where charindex('@domain2', YourColumn) <> 0