Scénář:
Pracujete jako vývojář SQL Serveru, musíte zadat dotaz na tabulku dbo.Customer a nahradit hodnoty Null ve sloupci Name na "Neznámé jméno". Které funkce SQL použijete k nahrazení hodnoty Null za "Neznámý název"?
Řešení:
Můžete použít funkce ISNULL nebo COALESCE k nahrazení Null hodnotou, která se nám líbí. Pojďme vytvořit tabulku dbo.Customer a vložit ukázkové záznamy pomocí níže uvedených příkazů.--Create dbo.Customer tableCreate table dbo.Customer(Id int,Name VARCHAR(10),Address VARCHAR( 100))--Vložte záznamy do dbo.Customer tableInsert do dbo.CustomerValues(1,'Aamir','XyZ Address'),(2,'Raza',Null),(3,null,'abc address') Použijme funkce ISNULL nebo COALESCE k nahrazení Null "Neznámým jménem".Vyberte Id,ISNULL(Název,'Neznámé jméno') AS NameByISNull,COALESCE(Name,'Unknown Name') NamebyCoalesce,Address From dbo.Customer
Jak nahradit hodnotu Null hodnotami v SQL Server – výukový program TSQL |
Pokud máte takové situace, raději použijte COALESCE. Datový typ výrazu COALESCE je datový typ vstupního argumentu s nejvyšší prioritou datového typu. V našem případě je "Neznámý název" 12 znaků a rozhodl se použít tento datový typ namísto sloupce Název, který je varchar(10).