SQL IIF-funktionen är den nya inbyggda logiska funktionen som infördes i SQL Server 2012. Vi kan betrakta SQL Server IIF som stenografi sätt att skriva om annat, och KUNDCASEFÖRKLARINGAR.

SQL Server IIF-funktionen accepterar tre argument. Det första argumentet är det booleska uttrycket, som returnerar sant eller falskt. Om IIF-uttrycket resulterar sant kommer det andra argumentet att returneras som ett resultat. Annars kommer det tredje argumentet att returneras som utgång., Låt oss se syntaxen för SQL Server IIF-funktionen:

SQL IIF Logical Function Syntax:

syntaxen för IIF i SQL Server är som följer:

IIF (Boolean_Expression, True_Value, Flase_Value)

om det givna Booleska uttrycket (eller testförhållandet) är sant kommer det att returnera True_Value. Och om det är falskt, kommer False_Value att returneras.

SQL IIF jämföra två heltal

detta exempel kommer att visa dig arbetsfunktionaliteten hos IIF-funktionen i SQL Server

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

från nedanstående skärmdump kan du observera att villkoret inuti IIF-funktionen (dvs., Den 10 > 5) är SANT. Så returnerade det första uttalandet (eller andra argumentet) som utgång, vilket är sant

SQL IIF jämför två heltalvariabler

i det här exemplet kommer vi att använda IIF-funktionen för att hitta om personen är berättigad att rösta eller inte.

från skärmdumpen nedan kan du observera att

  • inom det första select-uttalandet är condition inside IIF-funktionen (dvs. 12 > 18) falsk., Så återvände det andra uttalandet (eller tredje argumentet) som utgång
  • inom det andra SELECT-uttalandet, villkor inuti IIF-funktionen (dvs. 34 > 18) är sant. Så returnerade den första satsen (eller det andra argumentet) som utgång

SQL IIF jämför två strängar

i det här exemplet kommer vi att använda SQL Server IIF-funktionen för att jämföra strängdata. Här använde vi jokertecknet % i det andra SELECT-uttalandet., Så, jag föreslår att du hänvisar SQL som Artikel i SQL Server för ytterligare referens.

SQL kapslade IIF exempel

i det här exemplet kommer vi att använda Sql Server kapslade IIF-funktionen för att hitta om personen är berättigad att arbeta eller inte.

  1. först förklarade vi en heltalvariabel som heter @age och tilldelade ett visst värde.
  2. inom IIF () – funktionen kontrollerar det första villkoret om ålder är mindre än 18., Om detta villkor är sant kommer det att returnera det första uttalandet (eller det andra argumentet) efter kommatecken, vilket är att du är för ung för att arbeta
  3. när det första villkoret misslyckas returnerar det andra uttalandet (eller det tredje argumentet). Genom att använda SQL Server Nested IIF kontrollerar vi ytterligare ett villkor här (@age >= 18 och @age <= 60)., Om detta villkor är sant returnerar det första värdet efter kommatecken, vilket är att du är berättigad att arbeta
  4. om det kapslade tillståndet misslyckas, kommer det att utföra värdet vid det tredje argumentet, vilket är att du är för gammal för att arbeta.,

utgång 1: Ålder = 12

Ålder = 32

ålder=65

SQL IIF arbetar med NULL-värden

det vore bäst om du var försiktig när du arbetar med NULL-värden inuti IIF-funktionen. Följande serie exempel hjälper dig att förstå konsekvenserna.,

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

från ovanstående skärmdump kan du observera att det kastar ett fel. Att säga att minst ett av resultatuttrycket (dvs. andra eller tredje argumentet efter Boolean_expressionen) måste vara ett annat uttryck än NOLLKONSTANTEN., Låt oss ändra dem därefter och se

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

SQL IIF NULL values Option 2

Vi kan övervinna de fel som uppstod av NULL-konstanterna i IIF-funktionen med hjälp av parametrarna.

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

IIF-datatyp med högsta prioritet

IIF-funktionen returnerar datatypen med högsta prioritet., Från följande exempel blir resultatet det tredje argumentet (dvs. 100) av typen heltal, men resultatet visar 100.00. Eftersom IIF-funktionen returnerar datatypen med högsta prioritet.

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

se om annat och fall uttalande artiklar.

Articles

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *