Sonntag, April 10, 2016

STRING_SPLIT im SQL Server 2016

Vor einiger Zeit habe ich in der Sektion database ideas bei OTN folgenden Wunsch geäußert: a string splitting function like SPLIT_PART in postgres. SPLIT_PART erhält als Argumente einen String und einen Delimiter, zerlegt den String an den Positionen der Delimiter-Zeichen in Substrings und liefert den n-ten Teilstring:

SELECT SPLIT_PART('A;B;C;D', ';', 2);
split_part
-----------
B

Das ist sicherlich keine höhere Magie und kann in SQL auf verschiedenen Wegen erreicht werden (etwa durch den Einsatz regulärer Ausdrücke), aber ich war in der Vergangenheit oft genug in Situationen, in denen mir eine solche built-in-Funktion geholfen hätte, dass ich ihre Ergänzung in Oracle für wünschenswert halte.  Für den Vorschlag gab es 21 positive und 4 negative Stimmen (was bei OTN schon eine recht rege Beteiligung ist) und ich vermute mal, dass die Resonanz vielleicht noch positiver ausgefallen wäre, wenn ich im Titel auf "postgres" verzichtet hätte.

Heute habe ich dann im Blog von Ozar Unlimited einen Artikel von Erik Darling gelesen, der auf die Funktion STRING_SPLIT hinweist, die im SQL Server 2016 zur Verfügung steht und die folgendermaßen beschreiben wird: "splits input character expression by specified separator and outputs result as a table." Dort gibt's das jetzt also auch schon.

Keine Kommentare:

Kommentar veröffentlichen