Заменить строку T-SQL в обновлении - PullRequest
73 голосов
/ 04 декабря 2010

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

Пример:

Данные содержат abc@domain1, pqr@domain2 и т. Д.

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

Ответы [ 3 ]

136 голосов
/ 04 декабря 2010

Синтаксис для ЗАМЕНА :

ЗАМЕНА (строковое выражение, строковый шаблон, строковое замещение)

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

UPDATE [DataTable] SET [ColumnValue] = REPLACE([ColumnValue], 'domain2', 'domain1')
11 голосов
/ 07 марта 2014

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

SELECT CAST(REPLACE(CAST([ColumnValue] AS NVARCHAR(MAX)),'find','replace') AS NTEXT) 
    FROM [DataTable]
6 голосов
/ 04 декабря 2010
update YourTable
    set YourColumn = replace(YourColumn, '@domain2', '@domain1')
    where charindex('@domain2', YourColumn) <> 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...