2017-06-19 18 views
2

Ich habe eine Tabelle, TblExample, die eine Identitätsspalte und eine Spalte (varchar), CLHTML, die HTML-Daten enthält. Ich muss durch diese Spalte für jeden Eintrag gehen und alle Wörter zu extrahieren, die dieses Format passen: ‚filename = [Wort] .png‘Extrahieren Sie alle Vorkommen eines Worttyps aus einer Zeichenfolge in eine Tabelle in SQL Server

Zum Beispiel kann ein Eintrag für clHTML könnte dies:

'/ImageBrowser/GetImage?fileName=ContactUs2.png" /></p><p class="doc-paragraph">A confirmation message will appear, clicking the OK button will complete the process.</p><p class="doc-paragraph"><img alt="" src="/ImageBrowser/GetImage?fileName=ContactUsConfirmation.png' 

Also möchte ich nur ContactUs2.png und ContactUsConfirmation.png in einer Tabelle für diesen Eintrag.

Antwort

1

Sie benötigen eine split Funktion

select left(Split_value,charindex('.png',Split_value)+3) as Result 
from yourtable y 
Cross apply udf_splitstring ss(clHTML,'fileName=') 
Where Split_value like 'fileName=%.png%' 

Es n Reihe von Möglichkeiten, eine Zeichenfolge in SQL Server zu teilen. Überprüfen Sie die folgenden Artikel

Split strings the right way – or the next best way

Tally OH! An Improved SQL 8K “CSV Splitter” Function

+0

Dank PRDP! Ihre Lösung funktioniert, aber für die WHERE-Klausel funktioniert dies stattdessen: Wobei Split_value wie '% .png%' –

Verwandte Themen