SQL

¿Como concatenar texto o columnas en SQL con la función CONCAT?

Estrada Web Group
Administrador
¿Como concatenar texto o columnas en SQL con la función CONCAT?

En este tutorial, aprenderá a usar la función CONCAT() de SQL Server para unir varias cadenas de texto columnas en una sola.

Descripción general de la función CONCAT() de SQL Server

Para unir dos o más cadenas en una, use la función CONCAT() con la siguiente sintaxis:

CONCAT ( input_string1, input_string2 [, input_stringN ] );

CONCAT() toma dos o hasta 255 cadenas de entrada y las une en una. Requiere al menos dos cadenas de entrada. Si pasa una cadena de entrada, la función CONCAT() generará un error.

Si pasa valores de cadena sin caracteres, la función CONCAT() convertirá implícitamente esos valores en cadenas antes de concatenar.

La función CONCAT() también convierte NULL en una cadena vacía con el tipo VARCHAR(1).

Tenga en cuenta que para agregar un separador durante la concatenación, utilice la función CONCAT_WS().

Ejemplos de funciones de SQL Server CONCAT()

Hagamos un ejemplo para que se familiarizarse con la función CONCAT().

Usando la función CONCAT() con cadenas literales.

El siguiente ejemplo usa la función CONCAT() para concatenar tres cadenas literales Estrada Web, espacio y Group:

SELECT
    'Estrada Web' + ' ' + ' Group' AS SitioWeb;

Resultado:

SitioWeb
---------
Estrada Web Group
(1 row affected)

Uso de la función CONCAT() con columnas de una tabla de SQL

Este ejemplo utiliza la tabla sales.customers de la base de datos de muestra.

concatenar columnas en sql

La siguiente instrucción usa la función CONCAT() de SQL Server para concatenar valores en las columnas first_name y last_name de la tabla sales.customers:

SELECT
    customer_id,
    first_name,
    last_name,
    CONCAT(first_name, ' ', last_name) full_name
FROM
    sales.customers
ORDER BY
    full_name;

Resultado:

CONCATENAR VARCHAR EN SQL

Usando la función CONCAT() con NULL

El siguiente ejemplo utiliza la función CONCAT() para formatear direcciones para clientes:
 

SELECT
    CONCAT(
        CHAR(13),
        CONCAT(first_name,' ',last_name),
        CHAR(13),
        phone,
        CHAR(13),
        CONCAT(city,' ',state),
        CHAR(13),
        zip_code
    ) customer_address
FROM
    sales.customers
ORDER BY
    first_name,
    last_name;

Aquí está la salida parcial en el formato de texto:

unir dos o más columnas en una consulta sql

Como se muestra claramente en la salida, si el cliente no tiene número de teléfono, la función CONCAT() utiliza un espacio vacío para la concatenación.

Tenga en cuenta que utilizamos la función CHAR() para obtener un salto de línea en este ejemplo.

En este tutorial, ha aprendido cómo usar la función CONCAT() de SQL Server para unir dos o más cadenas en una sola.

 

Compartir artículo:

Más artículos geniales

Cómo eliminar columnas de una tabla en SQL Server con ALTER TABLE y DROP COLUMN

Cómo eliminar columnas de una tabla en SQL Server con ALTER TABLE y DROP COLUMN

Resumen: en este tutorial, aprenderás cómo usar la declaración de columna ALTER TABLE DROP COLUMN de SQL Server para eliminar una o más columnas de una tabla existente.

Ver artículo completo
Guía completa de configuración de la base de datos en SQL Server: Aprende las mejores prácticas

Guía completa de configuración de la base de datos en SQL Server: Aprende las mejores prácticas

La configuración adecuada de una base de datos es un paso fundamental en el proceso de implementación y administración de SQL Server. Una configuración correcta puede marcar la diferencia en términos de rendimiento, seguridad y eficiencia en el manejo de los datos

Ver artículo completo
Cómo obtener el número de caracteres de una cadena en SQL Server con la función LEN()

Cómo obtener el número de caracteres de una cadena en SQL Server con la función LEN()

En este tutorial, aprenderá cómo usar la función LEN() de SQL Server para obtener la cantidad de caracteres de una cadena.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla