S .l IIF-funktionen er den nye indbyggede logiske funktion introduceret i s .l Server 2012. Vi kan overveje s .l Server IIF som den korte måde at skrive på, hvis ellers, og CASE udsagn.

s .l Server IIF-funktionen accepterer tre argumenter. Det første argument er det boolske udtryk, der returnerer sandt eller falsk. Hvis IIF-udtrykket resulterer sandt, returneres det andet argument som et resultat. Ellers vender det tredje argument tilbage som output., Lad os se syntaks af SQL Server IIF funktion:

SQL IIF Logiske Funktion Syntax:

syntaks af IIF i SQL Server, er som følger:

IIF (Boolean_Expression, True_Value, Flase_Value)

Hvis den givne Booleske udtryk (eller test-tilstand) er sand, så vil det vende tilbage True_Value. Og hvis det er falsk, vil False_Value blive returneret.

SQL IIF Sammenligne to heltal

Dette eksempel viser dig, der arbejder funktionalitet af IIF funktion i SQL Server

SELECT IIF(10 > 5, 'TRUE', 'FALSE') AS Result;

Fra nedenstående screenshot, kan du observere, at Betingelse inde i funktionen IIF (dvs,, 10 > 5) er sandt. Så, den første erklæring (eller andet argument), der returneres som output, hvilket er korrekt

SQL IIF Sammenligne to heltalsvariabler

I dette eksempel vil vi bruge funktionen IIF til at finde ud af, om en person er berettiget til at stemme eller ikke.

fra nedenstående skærmbillede kan du bemærke, at

  • inden for den første SELECT-sætning er betingelse inden IIF-funktion (dvs.12 > 18) falsk., Så den anden sætning (eller tredje argument) returneret som output
  • inden for den anden SELECT-sætning, betingelse inde i IIF-funktionen (dvs.34 > 18) er sandt. Så, den første erklæring (eller andet argument), der returneres som output

SQL IIF Sammenligne to strenge

I dette eksempel, vi kommer til at bruge SQL Server-funktionen IIF til at sammenligne string data. Her brugte vi ‘ % ‘ wildildcard inde i den anden SELECT-sætning., Så jeg foreslår, at du henviser s .l-lignende artikel I s .l Server til yderligere reference.

Indlejrede SQL-IIF eksempel

I dette eksempel, vi kommer til at bruge Sql Server Indlejrede IIF-funktionen til at finde ud af, om en person er berettiget til at arbejde eller ikke.

  1. først erklærede vi en heltalsvariabel kaldet @age og tildelte en vis værdi.
  2. inden for IIF () – funktionen kontrollerer den første betingelse, om alderen er mindre end 18., Hvis denne betingelse er sand, returnerer den den første erklæring (eller det andet argument) efter kommaet, hvilket er, at du er for ung til at arbejde
  3. når den første betingelse mislykkes, returnerer den den anden erklæring (eller det tredje argument). Ved at bruge S .l Server Nested IIF kontrollerer vi en yderligere betingelse her (@age >= 18 og @age <= 60)., Hvis denne betingelse er sand, returnerer den første værdi efter kommaet, som er du er berettiget til at arbejde
  4. hvis den indlejrede tilstand mislykkes, udfører den værdien ved det tredje argument, som er du er for gammel til at arbejde.,

OUTPUT 1: Alder = 12

Alder = 32

Alder = 65

SQL IIF Arbejder med NULL-værdier

Det bedste ville være, hvis du var for forsigtig, mens du arbejder med NULL-værdier inde i funktionen IIF. Følgende række eksempler vil hjælpe dig med at forstå konsekvenserne.,

SELECT IIF(10 > 5, NULL, NULL) AS Result;

Fra ovenstående skærmbillede kan du se, at det er at smide en fejl. At sige, at mindst et af resultatudtrykket (dvs.andet eller tredje argument efter Boolean_e .pression) skal være et andet udtryk end NULKONSTANTEN., Lad os ændre dem i overensstemmelse hermed, og se

SELECT IIF(10 > 5, 'TRUE', NULL) AS Result1;SELECT IIF(10 > 5, NULL, 'FALSE') AS Result2;

SQL IIF NULL-værdier for 2

Vi kan løse de fejl, der opstod af NULL konstanter i IIF funktion ved hjælp af parametre.

DECLARE @a INT = NULL, @b INT = NULL SELECT IIF ( 10 > 5, @a, @b ) AS Result1;

IIF Data type med den højeste rangfølge

IIF funktion vil returnere data type med den højeste rangfølge., Fra det følgende eksempel vil resultatet være det tredje argument (dvs. 100) af typen heltal, men resultatet viser 100,00. Fordi IIF-funktionen returnerer den højeste prioritet datatype.

SELECT IIF ( 15 > 50, 12.45, 100 ) AS Result;

der henvises, HVIS Andet og CASE-Sætningen artikler.

Articles

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *