80 votes

T-SQL String remplace dans Update

J'ai besoin d'aide pour mettre à jour les valeurs de colonne en fonction de la partie des données.

Exemple:

Les données contiennent abc@domain1 , pqr@domain2 etc. Je dois mettre à jour les valeurs pour que @domain2 soit remplacé par @domain1

Merci pour l'aide

144voto

ofraski Points 953

La syntaxe pour REPLACE :

REPLACE (string_expression, string_pattern, string_replacement)

Pour que le SQL dont vous avez besoin soit:

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

11voto

Tawani Points 3914

Si cela vous intéresse, pour NTEXT , utilisez le format suivant:

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

6voto

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X