Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como concatenar strings no SQL Server com CONCAT()


No SQL Server, você pode concatenar duas ou mais strings usando o T-SQL CONCAT() função. Você também pode usar o operador de concatenação de strings do SQL Server (+ ) para fazer a mesma coisa. Ambos são explicados aqui.

No SQL Server (e em qualquer ambiente de programação de computador), a concatenação de strings é a operação de unir strings de caracteres de ponta a ponta.

Aqui está um exemplo:
SELECT CONCAT('Peter', ' ', 'Griffin') AS 'Full Name';

Resultado:
Full Name    
-------------
Peter Griffin

Observe que eu realmente concatenei 3 strings aqui. Eu concatenei o primeiro nome, o sobrenome, mais um espaço.



Se eu não adicionasse o espaço, ficaria assim:
SELECT CONCAT('Peter', 'Griffin') AS 'Full Name';

Resultado:
Full Name   
------------
PeterGriffin

Que pode ou não ser o resultado que você procura.

Então, se aplicarmos isso a um banco de dados, a consulta pode ser algo assim:
SELECT CONCAT(FirstName, ' ', LastName) AS 'Full Name'
FROM Individuals
WHERE IndividualId = '1';

Resultado:
Full Name    
-------------
Peter Griffin

Se você estiver concatenando mais de duas strings e precisar de um espaço (ou outro separador), considere usar o CONCAT_WS() função. Isso permite que você especifique um separador a ser usado entre cada string. Você só precisa especificar o separador uma vez, e ele é usado em todas as strings concatenadas, evitando que você precise redigitá-lo entre cada string.

Argumentos NULL


Se você estiver familiarizado com o MySQL, talvez saiba que ele também tem um CONCAT() função. No entanto, uma diferença entre o CONCAT() do SQL Server função e CONCAT() do MySQL função é como eles lidam com NULL argumentos.

No MySQL, o CONCAT() função retorna NULL se algum argumento for NULL . No SQL Server, no entanto, você pode adicionar um NULL argumento sem que resulte em um NULL resultado.

MySQL


Veja o que o MySQL faz:
SELECT CONCAT('Homer', NULL, 'Simpson') AS 'Full Name';

Resultado:
+-----------+
| Full Name |
+-----------+
| NULL      |
+-----------+

SQL Server


Veja o que o SQL Server faz:
SELECT CONCAT('Peter', NULL, 'Griffin') AS 'Full Name';

Resultado:
Full Name   
------------
PeterGriffin

Outra maneira de concatenar – O operador de concatenação de strings (+ )


O SQL Server fornece outra maneira de concatenar strings. Você pode usar o + operador de concatenação de strings.
SELECT 'Peter' + ' ' + 'Griffin' AS 'Full Name';

Resultado:
Full Name    
-------------
Peter Griffin