Guida SQL Server (MSSQL): Utilizzo della Funzione di Concatenazione

In SQL Server (MSSQL), la concatenazione di stringhe può essere effettuata utilizzando diversi metodi, come l'operatore di concatenazione +, la funzione CONCAT() e la funzione CONCAT_WS(). Queste funzioni sono utili quando si desidera combinare più stringhe in una singola stringa.

1. Operatore di Concatenazione +

L'operatore + viene utilizzato per concatenare due o più stringhe.

Sintassi


stringa1 + stringa2 + ... + stringaN
    

Esempio di Utilizzo

Concatenare due colonne di una tabella:


SELECT nome + ' ' + cognome AS nome_completo
FROM dipendenti;
    

Questa query concatenerà le colonne nome e cognome dalla tabella dipendenti, separandole con uno spazio, e restituirà il risultato come nome_completo.

2. Funzione CONCAT()

La funzione CONCAT() accetta uno o più argomenti e restituisce una stringa che è la concatenazione degli argomenti. A differenza dell'operatore +, CONCAT() gestisce automaticamente i valori NULL come stringhe vuote.

Sintassi


CONCAT(stringa1, stringa2, ..., stringaN)
    

Esempio di Utilizzo

Concatenare più valori insieme:


SELECT CONCAT(nome, ' ', cognome) AS nome_completo
FROM dipendenti;
    

Questa query produce lo stesso risultato dell'operatore +, ma gestisce in modo sicuro eventuali valori NULL.

3. Funzione CONCAT_WS()

La funzione CONCAT_WS() (che sta per "concatenate with separator") è simile a CONCAT(), ma consente di specificare un separatore che viene inserito tra ogni stringa concatenata.

Sintassi


CONCAT_WS(separatore, stringa1, stringa2, ..., stringaN)
    

Esempio di Utilizzo

Concatenare stringhe con un separatore specifico:


SELECT CONCAT_WS(', ', nome, cognome, città) AS dettagli
FROM dipendenti;
    

Questa query concatenerà le colonne nome, cognome e città della tabella dipendenti, separando ciascun valore con una virgola e uno spazio, restituendo il risultato come dettagli.

4. Funzione FORMATMESSAGE()

La funzione FORMATMESSAGE() può essere utilizzata per concatenare stringhe con formattazione. È particolarmente utile quando si lavora con messaggi che richiedono la sostituzione dinamica di valori.

Sintassi


FORMATMESSAGE(stringa_format, valore1, valore2, ..., valoreN)
    

Esempio di Utilizzo

Concatenare stringhe con formattazione:


SELECT FORMATMESSAGE('Ciao %s %s, benvenuto a %s!', nome, cognome, città) AS messaggio
FROM dipendenti;
    

Questa query restituisce un messaggio formattato che include il nome, il cognome e la città di ciascun dipendente.

5. Note Aggiuntive

  • Se si utilizzano valori NULL con l'operatore +, il risultato sarà NULL. È possibile utilizzare la funzione ISNULL() o COALESCE() per gestire i valori NULL.
  • CONCAT() e CONCAT_WS() sono sicure per i valori NULL e restituiscono una stringa concatenata ignorando i valori NULL.
  • La funzione FORMATMESSAGE() è utile quando è necessario creare messaggi con variabili dinamiche.

Conclusione

La concatenazione di stringhe in SQL Server è una tecnica versatile che può essere eseguita in diversi modi a seconda del contesto e dei requisiti specifici. A seconda del risultato desiderato e della necessità di gestire valori NULL o di utilizzare separatori, è possibile scegliere tra l'operatore +, la funzione CONCAT(), la funzione CONCAT_WS() o altre funzioni specifiche come FORMATMESSAGE().