Oracle 23ai New Feature: Erweiterung der Funktion CONCAT
Überblick
In diesem Blogbeitrag wird eine kleine Erweiterung der Funktion CONCAT in Oracle 23ai vorgestellt. Die Funktion wird benutzt, um Zeichenfolgen miteinander zu verketten.
Diese Funktionalität wird auf einer Oracle Datenbank 23ai FREE demonstriert.
Ausgangssituation
Zeichenfolgen können in Oracle mit dem Verkettungsoperator oder mit der CONCAT-Funktion verkettet werden.
select last_name || first_name as "Verkettung mit Operator",
concat( last_name, first_name) as "Verkettung mit CONCAT"
from employees;
/*
Verkettung mit Operator Verkettung mit CONCAT
--------------------------------------------- ------------------------
AbelEllen AbelEllen
AndeSundar AndeSundar
*/
Oft sollen aber 3 oder mehr Zeichenfolgen verkettet werden. Hier hilft die CONCAT-Funktion leider nicht mehr weiter:
select concat( last_name, ', ', first_name) as "Verkettung mit CONCAT"
from employees;
-- ORA-00909: invalid number of arguments
CONCAT akzeptiert bis einschließlich Oracle 21c nur zwei Argumente.
Erweiterung von CONCAT in Oracle 23ai
Ab Oracle 23ai akzeptiert die Funktion CONCAT beliebig viele Argumente, wie hier in dem Beispiel dargestellt wird. Vorname und Nachname werden mit Komma getrennt ausgegeben:
select last_name || ', ' || first_name as "Verkettung mit Operator",
concat( last_name, ', ', first_name) as "Verkettung mit CONCAT"
from employees;
/*
Verkettung mit Operator Verkettung mit CONCAT
--------------------------------------------- ------------------------
Abel, Ellen Abel, Ellen
Ande, Sundar Ande, Sundar
*/
Zusammenfassung
Die Erweiterung der Funktion CONCAT auf beliebig viele Argumente stellt sie und den Verkettungsoperator funktionell gleich. Somit gibt es in der Entwicklung eine Ausnahme weniger, die Berücksichtigung finden muss.
Kommentare
Keine Kommentare