J'ai une base de données dans SQL Server 2005 qui a été créée à partir de SQL Server 2000 et utilise toujours les champs de type TEXT au lieu de varchar (max).Recherche et remplacement de SQL Server dans le champ TEXTE
J'ai besoin de trouver et de remplacer une chaîne de caractères dans le champ de texte, mais tous les exemples de comment faire cela que j'ai trouvé ne semblent pas fonctionner pour moi. Il semble que la commande UPDATETEXT nécessite que les deux paramètres "insert_offset" et "delete_length" soient définis explicitement mais que la chaîne que je recherche puisse apparaître dans le texte à tout moment ou même à plusieurs endroits de la même cellule. Ma compréhension de ces deux paramètres est que la chaîne de recherche sera toujours au même endroit, de sorte que insert_offset est le nombre d'espaces dans le texte que la commande UPDATETEXT commencera à remplacer le texte.
Exemple: Nécessité de trouver: <u>
et le remplacer par: <u>
texte par exemple sur le terrain:
Quelqu'un peut-il me aider avec ça? MERCI!
avertissement: cela va recadrer le contenu du champ de texte à 8000 caractères –
@incubushead merci. Je sais que c'est un ancien article, mais cette syntaxe spécifique que vous avez proposée m'a directement aidé à vivre sur un site client avec quelque chose qui allait être long et difficile, merci. Toute personne bloquée avec un champ ntext - J'étais, Ne pas lancer en ntext (ne fonctionne pas ET est obsolète), utilisez simplement varchar (max) comme indiqué ici; ça fonctionne juste. La distribution ne modifie pas le type de colonne, la façon dont la mise à jour se comporte. N'utilisez pas non plus MAX si le texte est un peu plus long que quelques caractères sinon votre troncature à 50 caractères. –
Que faire si vous voulez supprimer des chaînes et ne pas les remplacer du tout avec quoi que ce soit? – Fandango68