Share via


Operador de concatenación de cadenas (motor de base de datos)

El operador de concatenación de cadenas es el signo más (+). Puede combinar o concatenar dos o más cadenas de caracteres en una única cadena. También puede concatenar cadenas binarias. A continuación se muestra un ejemplo de concatenación:

SELECT ('abc' + 'def');

Éste es el conjunto de resultados.

------
abcdef

(1 row(s) affected)

En la consulta siguiente se muestran los nombres de los cuatro primeros contactos de la columna Moniker con el orden apellido, nombre, con una coma y un espacio detrás del apellido.

USE AdventureWorks;
GO
SELECT LastName + ', ' + FirstName AS Moniker 
FROM Person.Contact
WHERE ContactID < 5;

Éste es el conjunto de resultados.

Moniker
-------------------------
Achong, Gustavo
Abel, Catherine
Abercrombie, Kim
Acevedo, Humberto

(4 row(s) affected)

Otros tipos de datos, como datetime y smalldatetime, deben convertirse a cadenas de caracteres con la función de conversión CAST para que se puedan concatenar con una cadena.

USE AdventureWorks;
GO
SELECT 'The due date is ' + CAST(DueDate AS varchar(128))
FROM Sales.SalesOrderHeader
WHERE SalesOrderID = 43659;
GO

Éste es el conjunto de resultados.

---------------------------------------
The due date is Jul 13 2001 12:00AM

(1 row(s) affected)

La cadena vacía ('') se evalúa como un espacio:

SELECT 'abc' + '' + 'def'

Éste es el conjunto de resultados.

-------
abcdef

(1 row(s) affected)

[!NOTA]

Que una cadena vacía ('') se interprete como un carácter en blanco o como un carácter vacío depende de la configuración del nivel de compatibilidad de sp_dbcmptlevel. Para este ejemplo, si el valor de sp_dbcmptlevel es 65, los literales vacíos se tratarán como un carácter en blanco.

Cuando las cadenas de entrada tienen la misma intercalación, la cadena de salida tiene la misma intercalación que las entradas. Cuando las cadenas de entrada tienen distintas intercalaciones, las reglas de precedencia de intercalación determinan la intercalación de la cadena de salida. También puede asignar una intercalación específica mediante la cláusula COLLATE.