Operador de concatenação de cadeias de caracteres (Mecanismo de Banco de Dados)
O operador de concatenação de cadeias de caracteres é o sinal de mais (+). Você pode combinar ou concatenar duas ou mais cadeias de caracteres em uma única cadeia de caracteres. Também pode concatenar cadeias binárias. A seguir, é mostrado um exemplo de concatenação.
SELECT ('abc' + 'def');
Conjunto de resultados.
------
abcdef
(1 row(s) affected)
A consulta a seguir exibe os nomes dos primeiros quatro contatos na coluna Moniker, na ordem sobrenome e nome, com uma vírgula e um espaço depois do sobrenome.
USE AdventureWorks;
GO
SELECT LastName + ', ' + FirstName AS Moniker
FROM Person.Contact
WHERE ContactID < 5;
Conjunto de resultados.
Moniker
-------------------------
Achong, Gustavo
Abel, Catherine
Abercrombie, Kim
Acevedo, Humberto
(4 row(s) affected)
Outros tipos de dados, como datetime e smalldatetime, devem ser convertidos em cadeias de caracteres usando a função de conversão CAST antes que eles possam ser concatenados com uma cadeia de caracteres.
USE AdventureWorks;
GO
SELECT 'The due date is ' + CAST(DueDate AS varchar(128))
FROM Sales.SalesOrderHeader
WHERE SalesOrderID = 43659;
GO
Conjunto de resultados.
---------------------------------------
The due date is Jul 13 2001 12:00AM
(1 row(s) affected)
A cadeia de caracteres vazia (") é avaliada como um espaço único:
SELECT 'abc' + '' + 'def'
Conjunto de resultados.
-------
abcdef
(1 row(s) affected)
Observação |
---|
Se uma cadeia de caracteres vazia (") for interpretada como um caractere em branco único ou como um caractere vazio, será determinado pela configuração de nível de compatibilidade de sp_dbcmptlevel. Para obter esse exemplo, se sp_dbcmptlevel for 65, literais vazios serão tratados como um único espaço em branco. |
Quando ambas as cadeias de caracteres de entrada têm o mesmo agrupamento, a cadeia de caracteres de saída tem o mesmo agrupamento das entradas. Quando as cadeias de entrada têm agrupamentos diferentes, as regras de precedência de agrupamento determinam o agrupamento da cadeia de caracteres de saída. Você também pode atribuir um agrupamento específico usando a cláusula COLLATE.