sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo concatenar cadenas en SQL Server con CONCAT()

En SQL Server, puede concatenar dos o más cadenas usando T-SQL CONCAT() función. También puede utilizar el operador de concatenación de cadenas de SQL Server (+ ) para hacer lo mismo. Ambos se explican aquí.

En SQL Server (y en cualquier entorno de programación informática), la concatenación de cadenas es la operación de unir cadenas de caracteres de un extremo a otro.

He aquí un ejemplo:

SELECT CONCAT('Peter', ' ', 'Griffin') AS 'Full Name';

Resultado:

Full Name    
-------------
Peter Griffin

Tenga en cuenta que en realidad concatené 3 cadenas aquí. Concatené el nombre, el apellido, más un espacio.

Si no hubiera agregado el espacio, se vería así:

SELECT CONCAT('Peter', 'Griffin') AS 'Full Name';

Resultado:

Full Name   
------------
PeterGriffin

Cuál puede o no ser el resultado que está buscando.

Entonces, si aplicamos esto a una base de datos, la consulta podría verse así:

SELECT CONCAT(FirstName, ' ', LastName) AS 'Full Name'
FROM Individuals
WHERE IndividualId = '1';

Resultado:

Full Name    
-------------
Peter Griffin

Si está concatenando más de dos cadenas y necesita un espacio (u otro separador), considere usar CONCAT_WS() función. Esto le permite especificar un separador que se utilizará entre cada cadena. Solo necesita especificar el separador una vez, y se usa en cada cadena que se concatena, lo que le evita tener que volver a escribirlo entre cada cadena.

Argumentos NULL

Si está familiarizado con MySQL, es posible que sepa que también tiene CONCAT() función. Sin embargo, una diferencia entre el CONCAT() de SQL Server función y CONCAT() de MySQL la función es cómo manejan NULL argumentos.

En MySQL, el CONCAT() la función devuelve NULL si algún argumento es NULL . Sin embargo, en SQL Server, puede agregar un NULL argumento sin que resulte en NULL resultado.

MySQL

Esto es lo que hace MySQL:

SELECT CONCAT('Homer', NULL, 'Simpson') AS 'Full Name';

Resultado:

+-----------+
| Full Name |
+-----------+
| NULL      |
+-----------+

Servidor SQL

Esto es lo que hace SQL Server:

SELECT CONCAT('Peter', NULL, 'Griffin') AS 'Full Name';

Resultado:

Full Name   
------------
PeterGriffin

Otra forma de concatenar:el operador de concatenación de cadenas (+ )

SQL Server proporciona otra forma de concatenar cadenas. Puedes usar el + operador de concatenación de cadenas.

SELECT 'Peter' + ' ' + 'Griffin' AS 'Full Name';

Resultado:

Full Name    
-------------
Peter Griffin