Az SQL IIF funkció az SQL Server 2012-ben bevezetett új beépített logikai funkció. Az SQL Server IIF-et úgy tekinthetjük, mint az írás gyorsírási módját, ha más, és az esettanulmányokat.

az SQL Server IIF funkció három argumentumot fogad el. Az első argumentum a logikai kifejezés, amely igaz vagy hamis. Ha az IIF kifejezés igaz, akkor a második érv ennek eredményeként visszatér. Ellenkező esetben a harmadik argumentum kimenetként tér vissza., Lássuk az SQL Server IIF funkció szintaxisát:

SQL IIF logikai függvény szintaxisa:

az IIF szintaxisa az SQL Serverben a következő:

IIF (Boolean_Expression, True_Value, Flase_Value)

Ha az adott logikai kifejezés (vagy teszt állapot) igaz, akkor visszatér a True_Value. És ha hamis, akkor a False_Value visszatér.

SQL IIF összehasonlítva két egész

Ez a példa megmutatja az IIF funkció működési funkcionalitását az SQL Server

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

az alábbi képernyőképen megfigyelheti ezt a feltételt az IIF funkción belül (azaz.,, 10 > 5) igaz. Tehát az első állítás (vagy a második argumentum) visszatért a kibocsátás, ami IGAZ

SQL HA Összehasonlítjuk a két integer változó

ebben A példában fogjuk használni a HA függvény, hogy megtalálja-e az a személy jogosult szavazni, vagy nem.

az alábbi képernyőképen megfigyelheti, hogy a

  • az első SELECT nyilatkozaton belül az IIF funkció belsejében lévő állapot (azaz 12 > 18) hamis., Tehát a második állítás (vagy harmadik argumentum)
  • kimenetként tért vissza a második SELECT utasításon belül, az IIF függvényen belüli állapot (azaz 34 > 18) igaz. Tehát az első utasítás (vagy a második argumentum)

SQL IIF két karakterlánc összehasonlítása

ebben a példában az SQL Server IIF funkciót fogjuk használni a karakterláncadatok összehasonlításához. Itt a ” % ” helyettesítő karaktert használtuk a második SELECT utasítás belsejében., Tehát azt javaslom, hogy olvassa el az SQL LIKE cikket az SQL Serverben további információkért.

SQL beágyazott IIF példa

ebben a példában az SQL Server beágyazott IIF funkciót használjuk annak megállapításához, hogy a személy jogosult-e dolgozni vagy sem.

  1. először egy @age nevű egész változót deklaráltunk, amelyhez valamilyen értéket rendeltünk.
  2. az IIF () függvényen belül az első feltétel ellenőrzi, hogy az életkor kevesebb-e, mint 18., Ha ez a feltétel igaz, akkor visszaadja az első nyilatkozatot (vagy a második argumentumot) a vessző után, vagyis túl fiatal vagy ahhoz, hogy
  3. működjön, amikor az első feltétel sikertelen, visszaadja a második állítást (vagy a harmadik argumentumot). Az SQL Server beágyazott IIF használatával itt még egy feltételt ellenőrizünk (@age >= 18 és @age <= 60)., Ha ez a feltétel igaz, akkor a vessző után adja vissza az első értéket, amely jogosult a
  4. munkára, ha a beágyazott feltétel sikertelen, akkor a harmadik argumentumban hajtja végre az értéket, azaz túl öreg vagy a munkához.,

KIMENET 1: Kor = 12

Kor = 32

Kor = 65

SQL HA Dolgozik, NULL értékek

Az lenne a legjobb, ha óvatosak voltak, miközben dolgozik a NULL értékeket belül a HA függvény. A következő példasorozat segít megérteni a következményeket.,

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

a fenti képernyőképen látható, hogy hibát dob. Ha azt mondjuk, hogy az eredménykifejezés legalább egyikének (azaz a Boolean_Expression utáni második vagy harmadik argumentumnak) A NULL konstanstól eltérő kifejezésnek kell lennie., Változtassuk meg őket ennek megfelelően, és nézzük meg a

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

SQL IIF NULL értékek opció 2

leküzdhetjük a felmerült hibákat a null állandók az IIF függvény segítségével a paramétereket.

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

HA adattípus a legmagasabb elsőbbséget

A HA függvény visszatér az adatok típus a legmagasabb rangban., A következő példából az eredmény az egész szám harmadik argumentuma (azaz 100) lesz, de az eredmény 100.00. Mivel az IIF funkció visszaadja a legmagasabb elsőbbségi adattípust.

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

kérjük, olvassa el, ha mást és CASE Statement cikkek.

Articles

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük