Articles

Verkettungsoperator

Posted on

Der Verkettungsoperator manipuliert Zeichenketten und CLOB-Daten. Tabelle 4-3 beschreibt den Verkettungsoperator.

Tabelle 4-3 Verkettungsoperator

Operator Zweck Beispiel

|

Verkettet Zeichenketten und CLOB Daten.

SELECT 'Name is ' || last_name FROM employees;

Das Ergebnis der Verkettung zweier Zeichenketten ist eine weitere Zeichenkette. Wenn beide Zeichenketten vom Datentyp CHAR sind, hat das Ergebnis den Datentyp CHAR und ist auf 2000 Zeichen begrenzt. Wenn einer der beiden Strings vom Datentyp VARCHAR2 ist, hat das Ergebnis den Datentyp VARCHAR2 und ist auf 4000 Zeichen begrenzt. Wenn eines der beiden Argumente ein CLOB ist, ist das Ergebnis ein temporäres CLOB. Nachfolgende Leerzeichen in Zeichenketten werden durch die Verkettung erhalten, unabhängig von den Datentypen der Zeichenkette oder des CLOB.

Auf den meisten Plattformen besteht der Verkettungsoperator aus zwei durchgehenden vertikalen Balken, wie in Tabelle 4-3 gezeigt. Einige IBM-Plattformen verwenden jedoch unterbrochene vertikale Balken für diesen Operator. Beim Verschieben von SQL-Skriptdateien zwischen Systemen mit unterschiedlichen Zeichensätzen, z. B. zwischen ASCII und EBCDIC, werden die vertikalen Balken möglicherweise nicht in die von der Zielumgebung der Oracle-Datenbank benötigten vertikalen Balken übersetzt. Oracle bietet die CONCAT-Zeichenfunktion als Alternative zum Senkrechtstrich-Operator für Fälle an, in denen es schwierig oder unmöglich ist, die von Betriebssystem- oder Netzwerkdienstprogrammen durchgeführte Übersetzung zu kontrollieren. Verwenden Sie diese Funktion in Anwendungen, die zwischen Umgebungen mit unterschiedlichen Zeichensätzen verschoben werden.

Obwohl Oracle Zeichenketten der Länge Null als Nullen behandelt, ergibt die Verkettung einer Zeichenkette der Länge Null mit einem anderen Operanden immer den anderen Operanden, so dass Null nur aus der Verkettung von zwei Null-Zeichenketten resultieren kann. Dies ist jedoch in zukünftigen Versionen von Oracle Database möglicherweise nicht mehr der Fall. Um einen Ausdruck zu verketten, der null sein könnte, verwenden Sie die Funktion NVL, um den Ausdruck explizit in eine Zeichenkette der Länge null zu konvertieren.

Siehe auch:

  • „Zeichendatentypen“ für weitere Informationen zu den Unterschieden zwischen den Datentypen CHAR und VARCHAR2

  • Die Funktionen CONCAT und NVL

  • Oracle Database Application Developer’s Guide – Large Objects für weitere Informationen über CLOBs

Beispiel für Verkettung Dieses Beispiel erstellt eine Tabelle mit den beiden Spalten CHAR und VARCHAR2, fügt Werte sowohl mit als auch ohne nachgestellte Leerzeichen ein und wählt dann diese Werte aus und verkettet sie. Beachten Sie, dass für die Spalten CHAR und VARCHAR2 die nachgestellten Leerzeichen erhalten bleiben.

CREATE TABLE tab1 (col1 VARCHAR2(6), col2 CHAR(6), col3 VARCHAR2(6), col4 CHAR(6) );INSERT INTO tab1 (col1, col2, col3, col4) VALUES ('abc', 'def ', 'ghi ', 'jkl');SELECT col1||col2||col3||col4 "Concatenation" FROM tab1;Concatenation------------------------abcdef ghi jkl

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.