Remplacement de texte avec la regex dans SQL Server
Actuellement, j'ai un serveur SQL de la colonne de type nvarchar(max)
qui a du texte qui commence par
<span class="escape_<<digits>>"></span>
La seule chose qui varie dans le modèle est la <<digits>>
dans le nom de la classe.
La partie commune est
<span class="myclass_
et la fermeture
</span>
Quelques exemples de valeurs sont
<span class="myclass_12"></span>
<span class="myclass_234"></span>
<span class="myclass_4546"></span>
Elles s'étendent de texte ne sont présents qu'au début de la colonne. Une telle correspondance de temps dans le milieu ne doit pas être retiré ou mis en correspondance.
Quoi de la requête de SQL Server avec la regex pour supprimer tous ces événements de la durée de l'?
Vous devez vous connecter pour publier un commentaire.
Si vous avez des valeurs comme
et vous souhaitez obtenir juste le
myclass_12
etc. des valeurs, utilisez la requête:Elle n'est pas basée sur une expression régulière depuis SQL Server Transact-SQL par défaut ne prend pas en charge l'expression rationnelle correspondant. Si vous avez besoin et que vous voulez Regex correspondance par tous les moyens, envisager la création d'un SQL-assembly CLR qui implémente cette fonctionnalité dans SQL Server.
SQL Server ne prend pas en charge les regex hors de la boîte.
Si vous utilisez SQL Server 2005, vous pouvez écrire une fonction CLR pour SQL Server et l'appeler.
Voir cette MSDN magazine de l'article pour les détails de comment faire (SQL Server 2005 > les Expressions Régulières Font de filtrage Et d'Extraction de Données plus Facile).