J'ai des difficultés à répéter et à remplacer tout ce qui se trouve entre deux caractères dans une chaîne à l'aide de MS SQL 2008 R2. J'essaie actuellement de tout extraire entre les caractères^et ~. J'utilise le code SQL suivant:MS SQL 2008 - Itérer et remplacer tout entre deux caractères
DECLARE @string VARCHAR(255) = '0123^Hello~456^Filler Text~789^Even more filler text~'
SELECT STUFF(@string, PATINDEX('%^%',@string), PATINDEX('%~%',@string)+1 - PATINDEX('%^%',@string), replace(replace(@string, '^', ''), '~', ''))
Je souhaite que la sortie soit "Texte de remplissage Hello Encore plus de texte de remplissage". Des idées de ce que je fais mal?
Bien que vous puissiez écrire une fonction pour ce faire, SQL Server n'est pas le meilleur outil pour le travail. –