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

Umfrage: Angestellte in Deutschland unterschätzen NIS-2-Richtlinie

Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…

5 Stunden ago

Kostenloser Dekryptor für ShrinkLocker

Mit dem Dekryptor von Bitdefender können Opfer von Attacken mit der Shrinklocker-Ransomware Dateien wiederherstellen.

19 Stunden ago

Malwarebytes warnt vor Betrugsmaschen beim Weihnachtseinkauf

In der Vorweihnachtszeit ist vor allem Malvertising auf dem Vormarsch. Cyberkriminelle locken Nutzer über schädliche…

19 Stunden ago

Bedrohungsindex: Deutliche Zunahme von Infostealern im Oktober

Dazu trägt unter der Infostealer Lumma-Stealer bei. Hierzulande dominiert der Infostealer Formbook die Malware-Landschaft.

2 Tagen ago

Chrome 131 schließt zwölf Sicherheitslücken

Eine schwerwiegende Anfälligkeit hebelt die Sicherheitsfunktion Seitenisolierung auf. Betroffen sind Chrome für Windows, macOS und…

2 Tagen ago

DeepL Voice mit KI für Sprach- übersetzungen

DeepL Voice ermöglicht Live‑Übersetzung von Meetings und Gesprächen in 13 Sprachen.

2 Tagen ago