Articles

Cómo usar CONCAT en Oracle SQL

oracle dba oracle database management system database oracle performance tuning oracle sql learn sql learn personal injury attorney new york mesothelioma lawyers abogados de mesotelioma nueva york abogado de mesotelioma la bolsa fontanería planificación de la jubilación barclays corredor de bolsa asesor financiero jubilación personal asesor financiero

Este tutorial se basa en ejemplos para que sea más fácil de entender. La función Oracle Concat permite fusionar o unir dos cadenas y se pueden utilizar los siguientes tipos de datos CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB o NCLOB. La función tiene dos parámetros de entrada y devuelve una sola cadena. Cuando los tipos de datos concatenados son diferentes, la base de datos Oracle devuelve el tipo de datos que tiene menos pérdidas en los resultados de la conversión. La sintaxis de Oracle Concat es:

CONCAT(<string_1>, <string_2>)

El primer ejemplo es con la función clásica de concatenación y fusiona dos textos «Oracle » (con un espacio al final) y «database». Para evitar que las dos palabras se conviertan en una sola palabra a menos que esto sea intencional usaremos un espacio al final de la primera palabra. La salida SQL muestra a continuación el valor de «TEXTO» «Base de datos Oracle».

 SELECT CONCAT('Oracle ','database') as text FROM dual;

oracle dba oracle database management system database management oracle performance tuning oracle concat oracle concat in oracle sql concat in oracle sql database learn sql learn retirement financial advisor retirement financial ORA-01722: invalid number

La segunda opción para fusionar cadenas es utilizar el operador de concatenación (||) que hace lo mismo que la función Oracle Concat. El operador es más comúnmente usado que la función Concat porque es más fácil y el código se mantiene más simple. La sintaxis del operador de concatenación de Oracle es:

<string_1>'||'<string_2>

El segundo ejemplo devuelve la misma salida «base de datos Oracle» que el último ejemplo y para la concatenación estamos utilizando las mismas cadenas de entrada: «Oracle » (con un espacio al final) y «base de datos». Echa un vistazo a la consulta SQL de abajo y compárala con el primer ejemplo.

 SELECT 'Oracle '||'database' as text FROM dual;

oracle dba oracle database management system database management oracle performance tuning oracle concat oracle sql concat in oracle sql database learn sql learn retirement financial advisor retirement financial ORA-01722: número inválido

Importante saber:
Después de ver esos dos últimos ejemplos puede que se te ocurra probar el operador de suma y unir esas dos palabras como en el siguiente ejemplo.

 SELECT 'Oracle '+'database' as text FROM dual;

oracle dba oracle database management system database management oracle performance tuning oracle concat oracle concat in oracle sql concat in oracle sql database learn sql learn retirement financial advisor retirement financial ORA-01722: número inválido

La salida muestra que no se pueden concatenar usando el operador de adición y el operador se usa sólo con números ya que el error dice «ORA-01722: número inválido».

Ahora para fusionar tres cadenas tenemos que usar la función Oracle Concat 2 veces como en el siguiente ejemplo. Las cadenas de entrada son «Oracle» (con un espacio al final), «database» y «help» (con un espacio al principio). La última palabra «help» tiene un espacio al principio y eso demuestra que se pueden añadir espacios donde se quiera. El espacio delante de la tercera palabra está hecho por ejemplo y puedes añadirlo al final de la segunda cadena también.

 SELECT CONCAT(CONCAT('Oracle ','database'),' help') as text FROM dual;

oracle dba oracle database management system database management oracle performance tuning oracle concat oracle sql concat in oracle sql database learn sql learn retirement financial advisor retirement financial ORA-01722: invalid number

La salida de la última sentencia Select devolvió una cadena «Oracle database help» y que puede ser tratada como un tipo de datos a partir de ahora. El siguiente ejemplo hace la misma concatenación con el operador Concat y estamos usando las mismas tres cadenas de entrada que arriba.

 SELECT 'Oracle '||'database'||' help' as text FROM dual;

oracle dba oracle database management system database management oracle performance tuning oracle concat oracle sql concat in oracle sql database learn sql learn retirement financial advisor ORA-01722: número inválido

Como ves en la última consulta el uso del operador (||) deja la consulta SQL más sencilla y fácil de leer. El operador de concatenación de Oracle es más utilizado por ello y apenas se ve la función Concat. El último ejemplo muestra que puedes añadir muchos operadores que necesites en tu código y la única restricción es que no pueden estar al principio y al final de la cadena. En otras palabras, tu cadena tiene que empezar y terminar con un tipo de datos.

 SELECT 'Oracle '||'database'||' help'||' from'||' a DBA' as text FROM dual;

oracle dba oracle database management system oracle performance tuning oracle concat oracle sql concat in oracle sql database learn sql learn retirement financial advisor retirement financial ORA-01722: número no válido

La salida final se convirtió en «Ayuda de un DBA a la base de datos Oracle» y estamos utilizando 5 cadenas de entrada.

Vea también:
Oracle Select Oracle Substr Oracle Instr Home

Dejar una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *