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