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

Come sostituire i valori Null con Sconosciuto nell'istruzione Select in SQL Server - Tutorial SQL Server/TSQL Parte 111

Scenario:


Stai lavorando come sviluppatore di SQL Server, devi interrogare la tabella dbo.Customer e sostituire i valori Null nella colonna Nome con "Nome sconosciuto". Quali funzioni SQL utilizzerai per sostituire il valore Null con "Nome sconosciuto"?


Soluzione:

Puoi usare le funzioni ISNULL o COALESCE per sostituire Null con il valore che ci piace. Creiamo la tabella dbo.Customer e inseriamo i record di esempio utilizzando le istruzioni seguenti.

--Create dbo.Customer table
Create table dbo.Customer(
Id int,
Name VARCHAR(10),
Address VARCHAR(100))

--Insert records in dbo.Customer table
Insert into dbo.Customer
Values(1,'Aamir','XyZ Address')
,(2,'Raza',Null)
,(3,null,'abc address')
 
 
 
 Usiamo le funzioni ISNULL o COALESCE per sostituire Null con "Nome sconosciuto".
Select Id,ISNULL(Name,'Unknown Name') AS NameByISNull,
COALESCE(Name,'Unknown Name') NamebyCoalesce,
Address From dbo.Customer
 
 
Come sostituire Null con Values ​​in SQL Server - Tutorial TSQL


 Come puoi vedere, abbiamo usato ISNULL e sostituito Null con "Unknown Name" ma ha restituito "Unknown Na", non ha restituito "Unknown Name" completo. Il motivo, il tipo di dati di un'espressione ISNULL è il tipo di dati del primo input (colonna Nome) che è varchar(10), ciò significa che ci restituirà sempre 10 caratteri.
Se hai situazioni come questa, è meglio utilizzare COALESCE. Il tipo di dati di un'espressione COALESCE è il tipo di dati dell'argomento di input con la precedenza del tipo di dati più alta. Nel nostro caso "Nome sconosciuto" è di 12 caratteri e ha scelto di usarlo al posto del tipo di dati della colonna Nome che è varchar(10).