613 votes

Mise à jour de SQL Server 2008 et remplacer une partie de chaîne

J'ai un tableau avec deux colonnes, ID et Value. Je veux modifier une partie de certaines chaînes dans la deuxième colonne.

Exemple de Tableau:

ID            Value
---------------------------------
1             c:\temp\123\abc\111
2             c:\temp\123\abc\222
3             c:\temp\123\abc\333
4             c:\temp\123\abc\444

Maintenant l' 1231 dans la Value chaîne de caractères n'est pas nécessaire. J'ai essayé d' UPDATE et REPLACE:

UPDATE dbo.xxx
SET Value = REPLACE(Value, '%123%', '')
WHERE ID <= 4

Quand j'execute le script SQL Server ne signale pas une erreur, mais il ne met pas à jour tout ce soit. Pourquoi est-ce?

974voto

Jon Egerton Points 16192

Vous n’avez pas besoin de caractères génériques dans le `` -il trouve juste la chaîne vous entrez pour le second argument, donc ce qui suit devrait fonctionner :

(J’ai aussi ajouté le `` dans la remplacer comme je suppose que vous n’avez pas besoin que soit)

79voto

Parado Points 13763

Essayez de supprimer `` chars comme ci-dessous

68voto

xinux Points 30

Pour que la requête de courir plus vite en grandes tables où pas chaque ligne doit être mise à jour, vous pouvez également choisir de mettre à jour uniquement les lignes qui seront modifiés :

10voto

Geek404 Points 1

Vous disposez d’une table où vous avez date Code qui est sept caractères quelque chose comme

Maintenant vous voulez remplacer tous

Avec

La requête SQL, que vous devez exécuter est

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