sql >> Base de Datos >  >> RDS >> Database

Cómo concatenar cadenas en SQL

Problema:

Quiere unir cadenas de dos columnas de una tabla en una sola.

Ejemplo:

Nuestra base de datos tiene una tabla llamada student con datos en las siguientes columnas:id , first_name y last_name .

id nombre apellido
1 Lora Smith
2 Emil Marrón
3 Álex Jackson
4 Martín Davis

Agreguemos el nombre al apellido del estudiante en una cadena. Use un espacio entre cada nombre.

Solución:

SELECT first_name || ‘ ‘ || last_name AS full_name
FROM student;

Esta consulta devuelve registros en una columna llamada full_name :

nombre_completo
Lora Smith
Emil Brown
Alex Jackson
Martín Davis

Discusión:

Para agregar una cadena a otra y devolver un resultado, use el || operador. Esto suma dos cadenas de la izquierda y la derecha juntas y devuelve un resultado. Si usa el nombre de la columna, no lo encierre entre comillas. Sin embargo, al usar un valor de cadena como espacio o texto, escríbalo entre comillas.

En nuestro ejemplo, agregamos un espacio a first_name y luego la columna last_name . Esta nueva columna se llama full_name .

También puede utilizar una función especial:CONCAT. Se necesita una lista de cadenas o nombres de columnas para unir como argumentos:

SELECT CONCAT(first_name, ‘ ‘, last_name) AS full_name
FROM student;

Los resultados son idénticos.

Sin embargo, la función CONCAT() es mejor para recuperar datos de una columna con valores NULL. ¿Por qué? Porque, cuando se incluye un NULL en los valores a unir, el operador devuelve NULL como resultado. En el caso de CONCAT(), no se mostrará NULL.

Mira el resultado de || operador si Emill no tiene un apellido registrado:

SELECT first_name || ‘ ‘ || last_name AS full_name
FROM student;
nombre_completo
Lora Smith
NULO
Alex Jackson
Martín Davis

Mire la función CONCAT para los mismos datos:

SELECT CONCAT(first_name, ‘ ‘, last_name) AS full_name
FROM student;
nombre_completo
Lora Smith
Emil
Alex Jackson
Martín Davis