2016-07-19 1 views
0

In SQL Server, wenn ich eine Beispielzeichenfolge von 'abc || DATUM || Lorem ipsum || NUMMER || dolor sit amet, elit. || KONTAKT NAME ||: Nullam et odio laoreet' habe, irgendwelche Ideen wie Ich würde alle Saiten zwischen meinen '||' extrahieren Trennzeichen? Mein erwartetes Ergebnis Satz wäre:SQL - Wie man eine Liste von Zeichenfolgen zwischen einem Trennzeichen extrahiert?

DATUM
NUMBER
KONTAKT Name

Ich würde auch mit einem einzigen, durch Komma getrenntes Ergebnis arbeiten kann: Datum, Zahl, Kontaktnamen. Außerdem könnte es eine beliebige Anzahl dieser Teilstrings geben, die ich extrahieren müsste. Mein Beispiel oben hat nur drei. Vielen Dank für Ihre Hilfe!

+0

http://stackoverflow.com/questions/314824/t-sql-opposite-to-string-concatenation-how-to-split-string-into-multiple-reco –

+0

Mögliche Duplikat von [Wie Ich habe eine Zeichenfolge aufgeteilt, damit ich auf Artikel x zugreifen kann?] (Http://stackoverflow.com/questions/2647/how-do-i-split-a-string-so-i-can-access-item-x) –

+0

Welches ist das Kriterium für die Auswahl von Teilsträngen? –

Antwort

0

Versuchen Sie diese SQL Server-Funktion, die ich erstellt habe. Es ist .net, also müssten Sie CLR-Funktionen aktivieren oder in SQL Server neu erstellen.

<SqlFunction(DataAccess:=DataAccessKind.Read)> _ 
    Public Shared Function Split(Text As String, delimiter As String, returnZeroBasedIndex As Integer) As String 
     Dim s() As String = VB.Split(Text, delimiter) 
     If returnZeroBasedIndex <= s.Length - 1 Then 
      Return s(returnZeroBasedIndex) 
     Else 
      Return "" 
     End If 
    End Function 
+0

Warum wird das abgelehnt? Ich benutze dies jeden Tag und es ist sehr nützlich und sehr einfach zu bedienen. –

+0

Ich bin mir nicht sicher, warum der Downvote. Ich werde untersuchen, wie ich das in meinem Szenario nutzen könnte. Danke für Ihre Hilfe. – tremonti93

+0

Ich überprüfte den Link im Kommentar zu Ihrem Beitrag und es enthält SQL Server-Implementierungen von diesem. Die CLR ist jedoch schneller und einfacher zu verstehen. –

Verwandte Themen