Un valore nullo in SQL Server si riferisce a una colonna il cui valore è mancante o sconosciuto. Quando lavori con database, incontrerai spesso valori null, rendendo i dati difficili da funzionare. Puoi risolverlo rimuovendo i valori nulli o sostituendoli con un valore specifico.
Questo articolo coprirà una funzione integrata in SQL Server che consente di sostituire i valori null con un valore impostato.
Uso di base
La funzione SQL Server ISNULL restituisce un valore specificato se un'espressione è un valore nullo o restituisce altrimenti l'espressione.
Il seguente snippet mostra la sintassi per la funzione ISNULL.
isNull (espressione, sostituzione_value);La funzione prende due argomenti:
La funzione converte il tipo di dati di sostituzione_value nel tipo di dati dell'espressione se sono di diversi tipi. Pertanto, assicurarsi che il tipo di sostituzione di sostituzione possa essere convertito nel tipo di espressione.
SQL Server IsNull () Esempi
Diamo un'occhiata ad alcuni esempi di come usare la funzione isNull.
Esempio 1:
L'esempio seguente utilizza la funzione isnull () per restituire un argomento se l'espressione fornita è null.
Seleziona isNull (null, 'non null');La query sopra dovrebbe restituire la stringa "non null" poiché il primo argomento è un valore nullo.
Esempio 2:
Come accennato in precedenza, la funzione isNull restituisce il valore di sostituzione se l'espressione è null. Tuttavia, se non null, la funzione restituisce il valore dell'espressione.
Considera l'esempio mostrato di seguito:
Seleziona IsNull (100, 200);La query dovrebbe restituire il valore dell'espressione, in questo caso, 100, in quanto non valuta un valore nullo.
Esempio 3:
È inoltre possibile utilizzare la funzione ISNULL con variabili. Considera l'istruzione SQL di esempio mostrato di seguito:
Dichiarare @espressione varchar (50);In questo esempio, il codice sopra dovrebbe restituire il valore memorizzato dalla variabile @Replacement.
Esempio 4:
Possiamo anche utilizzare la funzione isNull per sostituire i valori null in una tabella. Questo può essere utile quando è necessario eseguire aggiornamenti a una tabella senza apportare le modifiche permanenti al database.
Ad esempio, considera la tabella dei clienti da Sales SalesDB. Contiene valori nulli nella colonna medioriale.
Seleziona Top 10 * dai clienti;Possiamo sostituire i valori null con N/A usando la funzione ISNULL, come mostrato nel codice di esempio seguente:
Seleziona Top 10 FirstName, isNull (MiddleInitial, 'N/A') come iniziale, LastName dai clienti;La query dovrebbe restituire i record in cui il valore della colonna medioriale viene sostituito con la stringa "n \ a".
Un output di esempio è come mostrato:
Esempio 5:
La funzione isNull è disponibile quando è necessario eseguire operazioni come una media per un insieme di valori.
Ad esempio, possiamo utilizzare la funzione isNull per sostituire i valori null con 0 ed eseguire una media.
Considera l'esempio seguente:
Seleziona AVG (isNull (prezzo, 0)) come media_price dai prodotti;L'esempio sopra dovrebbe restituire la media di tutti i valori nella colonna di prezzo del database. La funzione dovrebbe sostituire tutti i valori null nella colonna con uno 0, consentendo di eseguire calcoli quasi accurati.
prezzo medioIsnull vs. È ZERO
In SQL Server, c'è una funzione chiamata è NULL. A differenza della funzione isnull (), determina se un'espressione è nulla. Ciò significa che restituisce un valore booleano invece di un'espressione.
L'esempio seguente mostra l'uso dell'istruzione NULL in SQL Server.
Seleziona Top 10 * dai clienti in cui MiddleInitial è nullo;Poiché l'istruzione NULL restituisce un valore booleano, il server SQL la utilizza per recuperare tutte le righe in cui la condizione è vera.
Un risultato di esempio è come:
Conclusione
In questa guida, hai capito come lavorare con la funzione SQL Server IsNull () per valutare e sostituire un'espressione nulla.