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