MSSQL Split bzw. explode function

Ich hatte die letzten Monate über das Vergnügen mein etwas eingestaubtes SQL Wissen wieder auffrischen zu dürfen. Als Folge dessen sind ein paar SQL snippets entstanden die u. U. auch jemandem anderen im Netz helfen könnten.

Als erstes möchte ich eine Funktion mit euch Teilen welche es ermöglicht einen übergebenen String anhand eines Trennzeichens zu zerlegen. Die Funktion ist sehr hilfreich wenn man Daten aus einer Datenbank ziehen muß bei der die Entwickler der Meinung waren, dass es Klug ist bestimmte Informationen einfach nur z. B. durch pipes getrennt in ein varchar Feld zu schreiben…

Anwendungsbeispiel:

Der Rückgabewert wäre hier „bin“.

5 Gedanken zu „MSSQL Split bzw. explode function

  1. Robert Pöhler

    Wobei ein Entwickler der eine Trennung mit Pipes macht an sich ja schon einen Klatsch auf den Kopf verdient 😉

  2. Herbert

    oder es gibt Fälle, da geht es nicht anders!

    Das Script hat noch Fehler!

    Beispiel:

    Select split(’90 24 50 50′,‘ ‚,2)
    = 24 (Richtig)

    Select split(‚90.24.50.50′,‘.‘,2)
    = 4 (falscher Wert!)

  3. Stephan

    set @String = SUBSTRING(right(@String,len(@String) – @idx),len(@Delimiter), len(@String))

    dann funktioniert’s

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.