El operador de concatenación manipula cadenas de caracteres y datos CLOB
. La Tabla 4-3 describe el operador de concatenación.
Tabla 4-3 Operador de concatenación
Operador | Propósito | Ejemplo |
---|---|---|
| |
Concatena cadenas de caracteres y |
SELECT 'Name is ' || last_name FROM employees; |
El resultado de concatenar dos cadenas de caracteres es otra cadena de caracteres. Si ambas cadenas de caracteres son de tipo de datos CHAR
, el resultado tiene tipo de datos CHAR
y está limitado a 2000 caracteres. Si cualquiera de las cadenas es del tipo de datos VARCHAR2
, el resultado tiene el tipo de datos VARCHAR2
y está limitado a 4000 caracteres. Si alguno de los argumentos es un CLOB
, el resultado es un CLOB
temporal. Los espacios en blanco al final de las cadenas de caracteres se conservan mediante la concatenación, independientemente de los tipos de datos de la cadena o del CLOB
.
En la mayoría de las plataformas, el operador de concatenación son dos barras verticales sólidas, como se muestra en la Tabla 4-3. Sin embargo, algunas plataformas de IBM utilizan barras verticales discontinuas para este operador. Cuando se mueven archivos de script SQL entre sistemas que tienen diferentes conjuntos de caracteres, como entre ASCII y EBCDIC, las barras verticales podrían no traducirse en la barra vertical requerida por el entorno de la Base de Datos Oracle de destino. Oracle proporciona la función de caracteres CONCAT
como alternativa al operador de barras verticales para los casos en los que es difícil o imposible controlar la traducción realizada por el sistema operativo o las utilidades de red. Utilice esta función en aplicaciones que se moverán entre entornos con conjuntos de caracteres diferentes.
Aunque Oracle trata las cadenas de caracteres de longitud cero como nulos, la concatenación de una cadena de caracteres de longitud cero con otro operando siempre da como resultado el otro operando, por lo que los nulos sólo pueden resultar de la concatenación de dos cadenas nulas. Sin embargo, es posible que esto no siga siendo cierto en futuras versiones de Oracle Database. Para concatenar una expresión que podría ser nula, utilice la función NVL
para convertir explícitamente la expresión en una cadena de longitud cero.
Vea también:
-
«Tipos de datos de caracteres» para obtener más información sobre las diferencias entre los tipos de datos
CHAR
yVARCHAR2
-
Las funciones CONCAT y NVL
-
Guía del desarrollador de aplicaciones de bases de datos Oracle -. Objetos grandes para obtener más información sobre
CLOB
s
Ejemplo de concatenación Este ejemplo crea una tabla con ambas columnas CHAR
y VARCHAR2
, inserta valores con y sin espacios en blanco al final, y luego selecciona estos valores y los concatena. Tenga en cuenta que para las columnas CHAR
y VARCHAR2
, los espacios en blanco se conservan.
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