Join- und split-Funktionen mit SQL

Eine häufige Aufgabe beim Abrufen von Daten aus einer Datenbank besteht darin, einen von einer Abfrage ausgegebenen Satz von Werten als kommagetrennte Liste zu formatieren. Fast ebenso häufig ist genau die entgegengesetzte Aufgabe – eine kommagetrennte Liste von Werten in einem einzelnen String als Tabelle von Werten zu benutzen.

Viele Scriptsprachen wie Perl und Python bieten Funktionen, die mit ihren sprachspezifischen Listen von Werten genau dies machen. Es überrascht daher, dass diese Funktionalität bislang nicht standardmäßig in den SQL-Funktionen enthalten ist. Es gibt zwar ziemlich hässliche Hilfskonstruktionen, die komplexe Deklarationen mit MAX und DECODE enthalten, doch liefern solche Lösungen normalerweise nur einen begrenzten Satz von Werten. Mit einigen der neuen Features von Oracle9i und neueren Versionen kann man diese Funktionen selbst erstellen.

Hier soll eine „join“-Funktion verwendet werden, um eine Abfrage zu erstellen, die eine einzelne Spalte und ein Trennzeichen ausgibt, worauf ein einfacher String entsteht, der eine Liste der entsprechenden Werte, vom Trennzeichen getrennt, enthält. Die Abfrage kann der Funktion als REF CURSOR unter Verwendung der neuen SQL CURSOR-Funktion übergeben werden. Das Trennzeichen sollte standardmäßig ein Komma sein, da dies das am häufigsten verwendete Trennzeichen ist. Die Syntax sollte also wie folgt aussehen:

Realisiert wird diese Funktion mithilfe des folgenden Codes:

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

3 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

3 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

3 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

3 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

4 Tagen ago

Hacker missbrauchen Google Calendar zum Angriff auf Postfächer

Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…

5 Tagen ago