Je dois mettre à jour les valeurs d'une colonne, en remplaçant une sous-chaîne sur les valeurs existantes.
Exemple:
Les données contiennent abc@domain1
, pqr@domain2
etc.
Je dois mettre à jour les valeurs telles que @domain2
est remplacé par @domain1
.
La syntaxe pour REMPLACE :
REPLACE (string_expression, string_pattern, string_replacement)
Pour que le SQL dont vous avez besoin soit:
UPDATE [DataTable] SET [ColumnValue] = REPLACE([ColumnValue], 'domain2', 'domain1')
Si quelqu'un s'en soucie, pour NTEXT
, utilisez le format suivant:
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