Строка T-SQL заменяется в Update

Мне нужно обновить значения столбца с заменой подстроки на существующие значения.

Пример:

Данные содержат [email protected], [email protected] и т.д.

Мне нужно обновить такие значения, чтобы @domain2 был заменен на @domain1.

Ответ 1

Синтаксис REPLACE:

REPLACE (string_expression, string_pattern, string_replacement)

Итак, SQL, который вам нужен, должен быть:

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

Ответ 2

Если кто-то заботится, для NTEXT, используйте следующий формат:

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

Ответ 3

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