ISNULL SQL-funktion i fallutlåtanden

I den här bloggen kommer vi att diskutera CASE- satsen som du kan använda för att hantera flera logiska operationer. Vi kommer också att diskutera ISNULL SQL-funktionen som gör att du kan returnera ett ersättningsvärde om det finns uttryck som har NULL -värde.

CASE - satsen och ISNULL -funktionen är till stor hjälp för att arbeta med koder som kräver många logiska operationer och för att snabbt ersätta antingen fasta eller specificerade värden till ett uttryck.

CASE - satsen i SQL är som att använda IF ELSE- satsen. Det liknar dock med största sannolikhet SWITCH- satsen som vi använder i DAX . Å andra sidan är ISNULL- funktionen för att ersätta ett NULL -värde med ett specifikt värde som du vill använda.

Innehållsförteckning

Använda CASE-satsen i SQL

Låt oss anta att vi har kolumnerna Produktnamn och Försäljningsbelopp .

ISNULL SQL-funktion i fallutlåtanden

Sedan vill vi skapa en extra kolumn som heter Beskrivning .

ISNULL SQL-funktion i fallutlåtanden

Vi vill också lägga till logiska uttalanden som visar " Billigt " om försäljningsbeloppet är mindre än eller lika med 5 , sedan " Inte så billigt " för mellan 6 och 100 . Om värdet är större än hundra visas ' Dyrt '.

ISNULL SQL-funktion i fallutlåtanden

I det här exemplet använde vi SELECT- satsen för att välja kolumnen som vi vill visa. Efter det har vi CASE -satsen som innehåller de logiska operationerna vi nämnde tidigare.

Vid användning av CASE- satsen används alltid WHEN- och THEN -satserna för att indikera de logiska operationer som vi vill implementera i den valda kolumnen. ELSE - satsen är till för att ställa in ett standardvärde om den logiska operationsuppsättningen inte uppfylldes.

I slutet av CASE -satsen har vi END AS och kolumnnamnet bredvid. Detta kommer att skapa en ny kolumn med namnet Beskrivning med värden baserade på de logiska operationerna som vi har lagt till i CASE- satsen.

Använder ISNULL SQL-funktionen

ISNULL - funktionen är till för att kontrollera om det finns några NULL -värden i en vald kolumn och ersätta dem med ett angivet värde. Låt oss nu visualisera att vi har följande kolumner med NULL -värden.

ISNULL SQL-funktion i fallutlåtanden

I exemplet ovan ersätts alla NULL- värden med ' Okända '-värden. Följande kodrader används för att skapa det exemplet.

ISNULL SQL-funktion i fallutlåtanden

När du använder ISNULL SQL-funktionen bör du börja med att välja kolumnen MiddleName med hjälp av SELECT -satsen.

Därefter bör du använda ISNULL -funktionen för att kontrollera kolumnen MiddleName som är specificerad inom parentesen och ersätta eventuella NULL -värden i den med värdet ' Okänt '.

AS - funktionen är till för att skapa en ny kolumn som i detta fall är MiddleName_New .

Observera att ISNULL- funktionen endast kommer att ersätta NULL -värden om ett visst värde inte är lika med NULL . Sedan kommer det att returnera samma värde från kolumnen som du har angett i ISNULL -funktionen.

Därefter kommer jag att använda CASE- satsen och ISNULL -funktionerna i SSMS för att du ska se hur det faktiskt fungerar. 

CASE-uttalande i SSMS

Låt oss börja med att välja kolumnen Förnamn från Person.Person . Observera att i det här exemplet är det inte nödvändigt att välja en kolumn. Detta är bara för din referens.

ISNULL SQL-funktion i fallutlåtanden

Efter att ha tagit upp den här kolumnen, låt oss skapa en kolumn som visar värden oavsett om förnamnet är Kim eller inte genom att använda CASE -satsen. För att göra det, följ helt enkelt exemplet nedan.

ISNULL SQL-funktion i fallutlåtanden

I exempelkoden ovan har vi lagt till ett villkor med CASE -satsen där om förnamnet är lika med ' Kim ', kommer det att visa ' Ja ' och om inte, så kommer det att visa ' Nej ' istället.

För det här exemplet skapade jag också en ny kolumn med namnet ' IsKim ' med funktionen AVSLUTA SOM . Se exemplet nedan för resultatet.

ISNULL SQL-funktion i fallutlåtanden

Låt oss nu ta ett annat exempel med CASE- satsen genom att tillämpa några villkor på TaxAmt -kolumnen från Sales.SalesOrderHeader -tabellen.

Låt oss först ta med de 100 bästa kolumnerna från Sales.SalesOrderHeader med hjälp av följande kodrad och leta efter TaxAmt -kolumnen.

ISNULL SQL-funktion i fallutlåtanden

Efter det, låt oss börja tillämpa villkoren för TaxAmt- kolumnen med CASE -uttrycket med hjälp av exemplet nedan.

ISNULL SQL-funktion i fallutlåtanden

I likhet med föregående exempel började vi med att välja kolumnen som vi vill tillämpa våra villkor på – i det här fallet är det TaxAmt -kolumnen.

Sedan i CASE -satsen lade vi till villkor där om TaxAmt är mindre än eller lika med 500, så kommer det att visa värdet " Perfekt ". Om TaxAmt är mindre än eller lika med 2000 , kommer värdet ' Okej ' att visas.

Dessutom, om villkoren inte uppfylldes, kommer värdet ' Inte bra ' att visas. I slutet av uttalandet skapade jag en ny kolumn med namnet TaxClass .

ISNULL SQL-funktion i fallutlåtanden

Det är så vi använder CASE- satsen i SQL . Observera att du kan ställa in så många villkor som du vill. Se bara till att använda WHEN- och THEN -satserna samt END AS- funktionen för att generera en ny kolumn där resultaten kommer att visas.

ISNULL SQL-funktion i SSMS

I det här exemplet kommer jag att använda samma tabell från föregående exempel. Sedan ska jag visa hur du kan använda den här funktionen för att ersätta NULL- värden under kolumnen  CurrencyRateID .

ISNULL SQL-funktion i fallutlåtanden

Efter att ha valt tabellen från exemplet ovan kan vi se NULL -värdena under kolumnen CurrencyRateID . Nu vill jag ersätta dessa NULL -värden med ' 1 '. För att göra detta, se exemplet nedan.

ISNULL SQL-funktion i fallutlåtanden

För att ändra NULL -värdena i en specifik kolumn måste vi först välja kolumnen som har NULL-värdena. I det här fallet är det CurrencyRateID . Sedan använder vi ISNULL -funktionen och väljer kolumnen som ska kontrolleras av ISNULL -funktionen, vilket är CurrencyRateID .

Vi måste också deklarera ersättningsvärdet som vi vill använda – för det här exemplet använde jag ' 1 '. Slutligen lägger vi till AS -funktionen för att skapa en ny kolumn med namnet NewRate .

Som ett resultat ersattes alla NULL -värden med ' 1 ' under NewRate- kolumnen, och de som inte hade ett NULL -värde förblev desamma. Dessutom kan du också ändra ett NULL- värde med en kolumn. Du kan göra detta genom att följa exemplet nedan.

ISNULL SQL-funktion i fallutlåtanden

Med samma syntax från föregående exempel lade vi precis till SalesOrderID bredvid CurrencyRateID som vår referens före ISNULL -funktionen. Sedan ändrade vi ersättningsvärdet med SalesOrderID . Detta uttalande kontrollerar helt enkelt NULL- värdena under CurrencyRateID och ersätter dem med värdena från kolumnen SalesOrderID .

Slutsats

Sammanfattningsvis har du lärt dig hur du använder CASE- satsen och ISNULL -funktionen tillsammans med rätt syntax i SQL . Du lärde dig också att du kan inkludera så många logiska villkor i ett CASE -uttalande som du vill. Notera bara att CASE -satsen liknar SWITCH eller IF ELSE -satsen.

Förutom ISNULL- funktionen lärde du dig att det finns olika sätt att ersätta ett NULL- värde när du använder denna funktion, vilket är genom att använda ett fast värde eller en kolumn.

Med vänliga hälsningar,

Hafiz






Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.

Extrahera LuckyTemplates-teman och bilder från PBIX

Extrahera LuckyTemplates-teman och bilder från PBIX

Lär dig hur du tar isär en PBIX-fil för att extrahera LuckyTemplates-teman och bilder från bakgrunden och använda den för att skapa din rapport!

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

Python i LuckyTemplates: Hur man installerar och ställer in

Python i LuckyTemplates: Hur man installerar och ställer in

Lär dig hur du installerar programmeringsspråket Python i LuckyTemplates och hur du använder dess verktyg för att skriva koder och visa bilder.

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Lär dig hur du beräknar dynamiska vinstmarginaler vid sidan av LuckyTemplates och hur du kan få fler insikter genom att gräva djupare i resultaten.

Sortering av datumtabellkolumner i LuckyTemplates

Sortering av datumtabellkolumner i LuckyTemplates

Lär dig hur du sorterar fälten från en utökad datumtabells kolumner korrekt. Detta är en bra strategi att göra för svåra fält.

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

I den här artikeln går jag igenom hur du kan hitta dina toppprodukter per region med hjälp av DAX-beräkningar i LuckyTemplates, inklusive TOPN- och CALCULATE-funktionerna.

Skräpdimension: Vad är det och varför det är allt annat än skräp

Skräpdimension: Vad är det och varför det är allt annat än skräp

Lär dig hur du använder en skräpdimension för flaggor med låg kardinalitet som du vill infoga i din datamodell på ett effektivt sätt.