How To Use CONCAT In Oracle SQL
Dieses Tutorial basiert auf Beispielen, damit es leichter zu verstehen ist. Die Oracle Concat-Funktion erlaubt es, zwei Zeichenketten zu verschmelzen oder zu vereinigen, wobei die folgenden Datentypen verwendet werden können: CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB oder NCLOB. Die Funktion hat zwei Eingangsparameter und gibt nur einen String zurück. Wenn die zu verkettenden Datentypen unterschiedlich sind, gibt die Oracle-Datenbank den Datentyp zurück, der in den Ergebnissen der Konvertierung weniger Verluste aufweist. Die Syntax von Oracle Concat ist:
CONCAT(<string_1>, <string_2>)
Das erste Beispiel ist mit der klassischen Verkettungsfunktion und es verschmilzt zwei Texte „Oracle “ (mit einem Leerzeichen am Ende) und „database“. Um zu vermeiden, dass die beiden Wörter zu einem Wort werden, es sei denn, dies ist beabsichtigt, verwenden wir ein Leerzeichen am Ende des ersten Wortes. Die SQL-Ausgabe zeigt unter „TEXT“ den Wert „Oracle-Datenbank“.
SELECT CONCAT('Oracle ','database') as text FROM dual;
Die zweite Möglichkeit, Strings zusammenzuführen, ist die Verwendung des Verkettungsoperators (||), der dasselbe tut wie die Oracle Concat-Funktion. Der Operator wird häufiger verwendet als die Concat-Funktion, weil er einfacher ist und der Code einfacher bleibt. Die Syntax des Oracle-Konkatenationsoperators lautet:
<string_1>'||'<string_2>
Das zweite Beispiel liefert die gleiche Ausgabe „Oracle-Datenbank“ wie das letzte Beispiel und für die Verkettung verwenden wir die gleichen Eingabestrings: „Oracle “ (mit einem Leerzeichen am Ende) und „database“. Schauen Sie sich die folgende SQL-Abfrage an und vergleichen Sie sie mit dem ersten Beispiel.
SELECT 'Oracle '||'database' as text FROM dual;
Wichtig zu wissen:
Nachdem Sie sich die letzten beiden Beispiele angesehen haben, kommen Sie vielleicht auf die Idee, den Additionsoperator zu verwenden und die beiden Wörter wie im folgenden Beispiel zu verbinden.
SELECT 'Oracle '+'database' as text FROM dual;
Die Ausgabe zeigt, dass die Verkettung mit dem Additionsoperator nicht möglich ist und der Operator nur mit Zahlen verwendet wird, da der Fehler „ORA-01722: Ungültige Zahl“ lautet.
Nun müssen wir, um drei Zeichenketten zusammenzufügen, die Oracle Concat-Funktion 2 mal verwenden, wie im folgenden Beispiel. Die Eingabestrings sind „Oracle “ (mit einem Leerzeichen am Ende), „database“ und “ help“ (mit einem Leerzeichen am Anfang). Das letzte Wort “ help“ hat ein Leerzeichen am Anfang und das zeigt, dass Sie Leerzeichen an beliebiger Stelle einfügen können. Das Leerzeichen vor dem dritten Wort ist zum Beispiel fertig und Sie können es auch einfach am Ende der zweiten Zeichenkette einfügen.
SELECT CONCAT(CONCAT('Oracle ','database'),' help') as text FROM dual;
Die Ausgabe der letzten Select-Anweisung lieferte eine Zeichenkette „Oracle-Datenbankhilfe“ und die kann ab jetzt als ein Datentyp behandelt werden. Das nächste Beispiel führt die gleiche Verkettung mit dem Concat-Operator durch und wir verwenden die gleichen drei Eingabe-Strings wie oben.
SELECT 'Oracle '||'database'||' help' as text FROM dual;
Wie Sie an der letzten Abfrage sehen, macht die Verwendung des Operators (||) die SQL-Abfrage einfacher und übersichtlicher. Der Oracle-Verkettungsoperator wird deshalb häufiger verwendet, und Sie sehen die Concat-Funktion kaum noch. Das letzte Beispiel zeigt, dass Sie viele Operatoren, die Sie benötigen, in Ihren Code einfügen können und die einzige Einschränkung ist, dass sie nicht am Anfang und am Ende der Zeichenkette stehen dürfen. Mit anderen Worten: Ihr String muss mit einem Datentyp beginnen und enden.
SELECT 'Oracle '||'database'||' help'||' from'||' a DBA' as text FROM dual;
Die endgültige Ausgabe wurde „Oracle database help from a DBA“ und wir verwenden 5 Eingabestrings.
Siehe auch:
Oracle Select Oracle Substr Oracle Instr Home