Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come concatenare stringhe in SQL Server con CONCAT()

In SQL Server puoi concatenare due o più stringhe utilizzando T-SQL CONCAT() funzione. Puoi anche utilizzare l'operatore di concatenazione di stringhe di SQL Server (+ ) per fare la stessa cosa. Entrambi sono spiegati qui.

In SQL Server (e in qualsiasi ambiente di programmazione per computer), la concatenazione di stringhe è l'operazione di unione di stringhe di caratteri end-to-end.

Ecco un esempio:

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

Risultato:

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

Nota che in realtà ho concatenato 3 stringhe qui. Ho concatenato il nome, il cognome, più uno spazio.

Se non avessi aggiunto lo spazio, sarebbe stato così:

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

Risultato:

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

Quale potrebbe essere o meno il risultato che stai cercando.

Quindi, se lo applichiamo a un database, la query potrebbe essere simile a questa:

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

Risultato:

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

Se stai concatenando più di due stringhe e hai bisogno di uno spazio (o di un altro separatore), considera l'utilizzo di CONCAT_WS() funzione. Ciò consente di specificare un separatore da utilizzare tra ciascuna stringa. Devi solo specificare il separatore una volta e viene utilizzato su ogni stringa concatenata, risparmiandoti quindi di doverlo riscrivere tra ogni stringa.

Argomenti NULL

Se hai familiarità con MySQL, potresti sapere che ha anche un CONCAT() funzione. Tuttavia, una differenza tra CONCAT() di SQL Server funzione e CONCAT() di MySQL la funzione è come gestiscono NULL argomenti.

In MySQL, il CONCAT() la funzione restituisce NULL se un argomento è NULL . In SQL Server, tuttavia, puoi aggiungere un NULL argomento senza che risulti in un NULL risultato.

MySQL

Ecco cosa fa MySQL:

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

Risultato:

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

SQL Server

Ecco cosa fa SQL Server:

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

Risultato:

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

Un altro modo per concatenare:l'operatore di concatenazione di stringhe (+ )

SQL Server offre un altro modo per concatenare le stringhe. Puoi usare il + operatore di concatenazione di stringhe.

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

Risultato:

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