Articles

Aaneenschakelingsoperator

Posted on

De aaneenschakelingsoperator manipuleert tekenreeksen en CLOB gegevens. In Tabel 4-3 wordt de aaneenschakelingsoperator beschreven.

Tabel 4-3 Aaneenschakelingsoperator

Uitvoerder Doel Voorbeeld

|

Concateneert tekenreeksen en CLOB gegevens.

SELECT 'Name is ' || last_name FROM employees;

Het resultaat van het aaneenschakelen van twee tekenreeksen is een andere tekenreeks. Als beide tekenreeksen van het datatype CHAR zijn, heeft het resultaat het datatype CHAR en is het beperkt tot 2000 tekens. Als een van beide strings van datatype VARCHAR2 is, heeft het resultaat datatype VARCHAR2 en is het beperkt tot 4000 tekens. Als een van beide argumenten een CLOB is, is het resultaat een tijdelijke CLOB. Spaties achter in tekenreeksen blijven behouden door aaneenschakeling, ongeacht de datatypen van de tekenreeks of CLOB.

Op de meeste platforms bestaat de aaneenschakelingsoperator uit twee vaste verticale balken, zoals weergegeven in Tabel 4-3. Sommige IBM-platforms gebruiken echter gebroken verticale balken voor deze operator. Bij het verplaatsen van SQL-scriptbestanden tussen systemen met verschillende tekensets, zoals tussen ASCII en EBCDIC, worden verticale balken mogelijk niet vertaald naar de verticale balk die wordt vereist door de doelomgeving van de Oracle Database. Oracle biedt de tekenfunctie CONCAT als een alternatief voor de verticale balk-operator voor gevallen waarin het moeilijk of onmogelijk is om de vertaling te controleren die wordt uitgevoerd door het besturingssysteem of netwerkhulpprogramma’s. Gebruik deze functie in toepassingen die zullen worden verplaatst tussen omgevingen met verschillende tekensets.

Hoewel Oracle tekenreeksen van nul lengte behandelt als nulls, resulteert het aaneenschakelen van een tekenreeks van nul lengte met een andere operand altijd in de andere operand, dus null kan alleen resulteren uit de aaneenschakeling van twee null tekenreeksen. Het is echter mogelijk dat dit in toekomstige versies van Oracle Database niet meer het geval zal zijn. Om een expressie die null zou kunnen zijn aan elkaar te plakken, gebruikt u de functie NVL om de expressie expliciet om te zetten in een string met een lengte van nul.

Zie ook:

  • “Character Datatypes” voor meer informatie over de verschillen tussen de CHAR en VARCHAR2 datatypes

  • De functies CONCAT en NVL

  • Oracle Database Application Developer’s Guide – Large Objects voor meer informatie over

  • . Grote Objecten voor meer informatie over CLOBs

Concatenatievoorbeeld Dit voorbeeld maakt een tabel met zowel CHAR als VARCHAR2 kolommen, voegt waarden in zowel met als zonder spaties, en selecteert deze waarden en voegt ze samen. Merk op dat voor zowel CHAR als VARCHAR2 kolommen, de spaties behouden blijven.

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

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *