Scenario:
Du arbetar som SQL Server-utvecklare, du måste fråga dbo.Customer-tabellen och ersätta Null-värden i kolumnen Namn till "Okänt namn". Vilka SQL-funktioner kommer du att använda för att ersätta Null-värdet med "Okänt namn"?
Lösning:
Du kan använda funktionerna ISNULL eller COALESCE för att ersätta Null med värde som vi gillar. Låt oss skapa dbo.Customer-tabell och infoga exempelposter genom att använda nedanstående satser.--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')Låt oss använda funktionerna ISNULL eller COALESCE för att ersätta Null med "Okänt namn".
Select Id,ISNULL(Name,'Unknown Name') AS NameByISNull, COALESCE(Name,'Unknown Name') NamebyCoalesce, Address From dbo.Customer
Hur man ersätter Null med värden i SQL Server - TSQL-handledning |
Om du har situationer som denna, det är bättre att använda COALESCE. Datatypen för ett COALESCE-uttryck är datatypen för inmatningsargumentet med högst datatypsföreträde. I vårt fall är "Unknow Name" 12 tecken och den valde att använda den istället för Name kolumndatatypen som är varchar(10).