SQL Server Coalesce

SQL Server Coalesce

Di tanto in tanto, ci imbattiamo in una situazione in cui dobbiamo gestire i valori null in un database. Questo tutorial esaminerà un'importante funzione SQL Server che consente di confrontare i valori e restituire il primo valore non nullo all'interno del set.

Cos'è un valore nullo?

Possiamo definire un valore nullo come un valore mancante o assente. In SQL Server, un valore null si riferisce a una colonna il cui valore è sconosciuto o mancante. Quindi, uno zero o una stringa vuota non è un valore nullo.

Funzione di carbone SQL Server

La funzione Coalesce () in SQL Server viene utilizzata per valutare sequenzialmente un set di valori e restituire il primo valore non null dal set.

Potresti chiederti, perché devo usare la funzione coalesce () su isnull ()?

A volte, puoi usare la funzione coalesce () come alternativa a isNull (). Il vantaggio di Coalesce su Isnull è che accetta oltre due parametri.

La sintassi della funzione Coalesce () è come mostrata:

Coalesce (espressione1, espressione2, ... espressioni)

La funzione prende espressioni scalari e restituisce la prima espressione non null dal set fornito. Se tutte le espressioni valutano su NULL, la funzione restituirà anche un valore nullo, indicando che non esiste un valore non null.

È possibile utilizzare la funzione Coalesce in clausole SQL che accettano espressioni come Select, Where, Group By, ecc.

Proprietà della funzione SQL Server Coalesce ()

La funzione Coalesce contiene le seguenti proprietà:

  1. Le espressioni scalari devono essere di tipo simile.
  2. La funzione valuta sempre prima un numero intero.
  3. Può richiedere più di una singola espressione

Vediamo vari esempi di utilizzo della funzione Coalesce () in SQL Server.

Esempio 1

L'esempio seguente mostra come utilizzare la funzione Coalesce per restituire il primo valore non nullo dal set fornito.

Seleziona Coalesce (null, 'null', null);

Il codice sopra dovrebbe restituire la stringa 'null'.

Esempio 2

È inoltre possibile utilizzare la funzione Coalesce su un set di valori interi, come mostrato nel codice di esempio seguente:

Seleziona Coalesce (null, 1, 2, 3, 4, 5, null);

Poiché il primo valore non null nel set è 1, la funzione dovrebbe restituire 1 come:

Esempio 3

Cosa succede se utilizziamo la funzione Coalesce con espressioni di un tipo diverso? Considera il codice di esempio seguente:

Seleziona Coalesce (null, 'null', 100, null);

Se si esegue il codice sopra, SQL Server restituisce un messaggio di errore come:

Esempio 4

Un buon esempio di utilizzo della funzione Coalesce è quando si esegue la concatenazione delle stringhe. Considera la query di esempio di seguito:

Usa SalesDB;
Seleziona FirstName + " + MiddleInitial + LastName FullName dai clienti;

Si noti che la query sopra restituisce righe di valori nulli come mostrato:

Per risolvere questo problema, possiamo usare la funzione Coalesce come mostrato nella query seguente:

Usa SalesDB;
Seleziona FirstName + " + Coalesce (MiddleInitial,") + LastName FullName dai clienti;

Il codice dovrebbe eliminare i valori null come mostrato nell'output di seguito:

Esempio 5

È possibile utilizzare la funzione Coalesce per sostituire i valori null con nuovi valori.

Ad esempio, considera la query di esempio di seguito:

Usa SalesDB;
Seleziona * dai clienti
Ordine da CustomerID;

Questo restituisce le colonne nella tabella dei clienti. Nuccerai i valori nella colonna di MiddleIntal:

Invece di un valore nullo, possiamo usare la funzione Coalesce per restituire la stringa "vuota" in cui manca il MiddleInitial.

Una query di esempio è come mostrato:

Usa SalesDB;
Seleziona CustomerId, FirstName, Coalesce (MiddleInitial, "Missing") come MiddleInitial, LastName dai clienti
Ordine da CustomerID;

Il codice sopra sostituisce i valori null con la stringa "mancante" come mostrato:

Confronta Coalesce () vs caso

Se hai utilizzato l'espressione del caso in SQL Server, si noti che la funzione Coalesce () si comporta in modo simile. Questo perché la funzione Coalesce () è una versione più compatta e minimizzata dell'istruzione Case. È meno codice e molto leggibile.

Avvolgendo!

Questa guida ha coperto le basi dell'utilizzo della funzione Coalesce di SQL Server per ottenere il primo non-null da un determinato set. Abbiamo anche dimostrato i casi d'uso di esempio della funzione Coalesce.

Grazie per aver letto e controllato altri tutorial di SQL Server.