2009-06-11 8 views

Répondre

46

Ceci est fait en utilisant la fonction REPLACE

Pour dépouilleront "somestring" de "SomeColumn" dans "SomeTable" dans la requête SELECT:

SELECT REPLACE([SomeColumn],'somestring','') AS [SomeColumn] FROM [SomeTable] 

Pour mettre à jour la table et dépouilleront « somestring "de « SomeColumn » dans « SomeTable »

UPDATE [SomeTable] SET [SomeColumn] = REPLACE([SomeColumn], 'somestring', '') 
8

Utilisez la fonction de chaîne « REMPLACER » sur la colonne en question:

UPDATE (yourTable) 
SET YourColumn = REPLACE(YourColumn, '*', '') 
WHERE (your conditions) 

Remplacer le « * » avec le caractère que vous voulez dépouiller et préciser votre clause WHERE pour correspondre aux lignes que vous souhaitez appliquer la mise à jour de.

Bien sûr, la fonction REPLACE peut également être utilisée - comme l'ont montré d'autres répondeurs - dans une instruction SELECT - à partir de votre question, j'ai supposé que vous essayiez de mettre à jour une table.

Marc

6

Jetez un oeil à la fonction suivante - REPLACE():

select replace(DataColumn, StringToReplace, NewStringValue) 

//example to replace the s in test with the number 1 
select replace('test', 's', '1') 
//yields te1t 

http://msdn.microsoft.com/en-us/library/ms186862.aspx

EDIT
Si vous souhaitez supprimer une chaîne, utiliser simplement la fonction de remplacement avec une chaîne vide comme t il troisième paramètre comme:

select replace(DataColumn, 'StringToRemove', '') 
+0

SQLServer utilise des guillemets simples au lieu de guillemets doubles – ichiban

+0

de @ichiban - J'espère toujours que est Someth Le SQL corrige. Ce serait bien que ce soit cohérent étant donné que la citation unique peut commenter le code VB ... J'ai édité le post. Merci! – RSolberg

4
UPDATE [TableName] 
SET [ColumnName] = Replace([ColumnName], '[StringToRemove]', '[Replacement]') 

Dans votre cas, il serait

UPDATE [TableName] 
SET [ColumnName] = Replace([ColumnName], '[StringToRemove]', '') 

Parce qu'il n'y a pas de remplacement (vous voulez vous en débarrasser).

Ceci sera exécuté sur chaque ligne de la table spécifiée. Pas besoin d'une clause WHERE sauf si vous ne souhaitez spécifier que certaines lignes.

Questions connexes