Szenario:
Sie arbeiten als SQL Server-Entwickler, Sie müssen die dbo.Customer-Tabelle abfragen und Nullwerte in der Namensspalte durch "Unbekannter Name" ersetzen. Welche SQL-Funktionen werden Sie verwenden, um den Nullwert durch "Unbekannter Name" zu ersetzen?
Lösung:
Sie können ISNULL- oder COALESCE-Funktionen verwenden, um Null durch einen beliebigen Wert zu ersetzen. Lassen Sie uns eine dbo.Customer-Tabelle erstellen und Beispieldatensätze einfügen, indem Sie die folgenden Anweisungen verwenden.--Create dbo.Customer tableCreate table dbo.Customer(Id int,Name VARCHAR(10),Address VARCHAR( 100))--Datensätze in dbo.Customer tableInsert into dbo.CustomerValues(1,'Aamir','XyZ Address'),(2,'Raza',Null),(3,null,'abc address')Lassen Sie uns ISNULL- oder COALESCE-Funktionen verwenden, um Null durch "Unbekannter Name" zu ersetzen. Wählen Sie Id,ISNULL(Name,'Unbekannter Name') AS NameByISNull,COALESCE(Name,'Unbekannter Name') NamebyCoalesce,Adresse von dbo.KundeWie Sie sehen können, haben wir ISNULL verwendet und die Null durch "Unbekannter Name" ersetzt, aber "Unbekanntes Na" zurückgegeben, es wurde nicht vollständig "Unbekannter Name" zurückgegeben. Der Grund dafür ist, dass der Datentyp eines ISNULL-Ausdrucks der Datentyp der ersten Eingabe (Name-Spalte) ist, also varchar(10), das heißt, es werden uns immer 10 Zeichen zurückgegeben.
So ersetzen Sie Null durch Werte in SQL Server – TSQL-Lernprogramm
Wenn Sie solche Situationen haben, Verwenden Sie besser COALESCE. Der Datentyp eines COALESCE-Ausdrucks ist der Datentyp des Eingabearguments mit der höchsten Datentyppriorität. In unserem Fall besteht "Unbekannter Name" aus 12 Zeichen und es wurde gewählt, diesen anstelle des Datentyps der Spalte "Name" zu verwenden, der varchar(10) ist.