L’opérateur de concaténation manipule les chaînes de caractères et les données CLOB
. Le tableau 4-3 décrit l’opérateur de concaténation.
Tableau 4-3 Opérateur de concaténation
Opérateur | But | Exemple |
---|---|---|
Concatène des chaînes de caractères et des |
SELECT 'Name is ' || last_name FROM employees; |
Le résultat de la concaténation de deux chaînes de caractères est une autre chaîne de caractères. Si les deux chaînes de caractères sont de type de données CHAR
, le résultat a le type de données CHAR
et est limité à 2000 caractères. Si l’un des deux arguments est un datatype VARCHAR2
, le résultat a le datatype VARCHAR2
et est limité à 4000 caractères. Si l’un des arguments est un CLOB
, le résultat est un CLOB
temporaire. Les blancs de fin de chaîne de caractères sont préservés par la concaténation, quels que soient les types de données de la chaîne ou du CLOB
.
Sur la plupart des plates-formes, l’opérateur de concaténation est constitué de deux barres verticales pleines, comme indiqué dans le tableau 4-3. Cependant, certaines plates-formes IBM utilisent des barres verticales brisées pour cet opérateur. Lorsque vous déplacez des fichiers de script SQL entre des systèmes ayant des jeux de caractères différents, par exemple entre ASCII et EBCDIC, les barres verticales peuvent ne pas être traduites en barre verticale requise par l’environnement de base de données Oracle cible. Oracle fournit la fonction de caractère CONCAT
comme alternative à l’opérateur de barre verticale pour les cas où il est difficile ou impossible de contrôler la traduction effectuée par les utilitaires du système d’exploitation ou du réseau. Utilisez cette fonction dans les applications qui seront déplacées entre des environnements présentant des jeux de caractères différents.
Bien qu’Oracle traite les chaînes de caractères de longueur nulle comme des nullités, la concaténation d’une chaîne de caractères de longueur nulle avec un autre opérande donne toujours l’autre opérande, de sorte que null ne peut résulter que de la concaténation de deux chaînes nulles. Toutefois, il se peut que cela ne soit plus vrai dans les futures versions de la base de données Oracle. Pour concaténer une expression qui pourrait être nulle, utilisez la fonction NVL
pour convertir explicitement l’expression en une chaîne de longueur nulle.
Voir aussi :
-
« Character Datatypes » pour plus d’informations sur les différences entre les
CHAR
etVARCHAR2
datatypes -
Les fonctions CONCAT et NVL
-
Guide du développeur d’applications pour les bases de données Oracle -. Grands objets pour plus d’informations sur
CLOB
s
Exemple de concaténation Cet exemple crée une table avec à la fois des colonnes CHAR
et VARCHAR2
, insère des valeurs avec et sans les blancs de fin, puis sélectionne ces valeurs et les concatène. Notez que pour les deux colonnes CHAR
et VARCHAR2
, les blancs de fin de ligne sont préservés.
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
.