Concatenar cadenas en Oracle

Concatenar cadenas en Oracle no tiene ningún secreto, el operador que se utiliza es el string '||' (doble barra vertical) siguiendo el estandar de sintaxis de SQL, pero lo comento aquí como apunte porque en otros motores de base de datos, como SQL Server, o DB2, la concatenación se hace con otros operadores, concretamente '+' en SQL Server y 'CONCAT' en IBM DB2.

La concatenación en Oracle es tan sencilla como insertar el operador entre las dos cadenas a concatenar (bueno, el método es el mismo en todas las bases de datos, lo único que puede cambiar es el operador):

SELECT 'Mi nombre completo es ' || nombre || ' ' || apellidos
FROM usuarios WHERE id_usuario=8;

La sintaxis es muy simple, pero con un poco de imaginación, o de práctica, puede ayudar a crear sentencias complejas, o incluso scripts de administración que utilicen el diccionario de datos para crear las instrucciones necesarias para realizar operaciones sobre una lista de objetos de la base de datos, seleccionados dinámicamente.

Apuntar también que en SQL Server la utilización del operador '+' para concatenar puede traer algún que otro problemilla cuando tú quieres concatenar y el analizador de SQL entiende que lo que quieres es sumar números.

 

Es cierto, yo he trabajado siempre con Oracle, y al tener que contatenar una vez con SQLServer utilizando el + me paso lo que comentas, que tenía errores porque SQL intetaba sumar en lugar de concatenar.