sql >> Databáze >  >> RDS >> SQLite

Jak funguje iif() v SQLite

V SQLite, iif() je podmíněná funkce, která vrací druhý nebo třetí argument na základě vyhodnocení prvního argumentu.

Je to logicky ekvivalentní CASE WHEN X THEN Y ELSE Z END .

iif() je zkratka pro okamžité IF .

iif() funkce byla představena ve verzi SQLite 3.32.0, která byla vydána 22. května 2020.

Syntaxe

Syntaxe vypadá takto:

iif(X,Y,Z)

Kde:

  • X je výraz, který má být vyhodnocen.
  • Ano definuje, co je vráceno v případě vyhodnocení X vrátí true.
  • Z definuje, co je vráceno v případě vyhodnocení X vrátí hodnotu false.

Jiný způsob, jak si to představit, je tento:

iif(expr, truepart, falsepart)

Příklad

Zde je základní příklad, který ukazuje, jak iif() funguje.

SELECT iif( 1 < 2, "True", "False" );

Výsledek:

True

V tomto případě byl výraz k vyhodnocení 1 < 2 . Je pravda, že 1 je menší než 2, takže byl vrácen druhý argument.

Toto je ekvivalent provedení následujícího.

SELECT 
  CASE WHEN 1 < 2 THEN "True"
    ELSE "False"
  END;

Výsledek:

True

V těchto příkladech jsem použil slova „True“ a „False“, ale mohl jsem použít cokoli.

Místo toho jsem mohl například udělat toto:

SELECT iif( 1 < 2, "Fail", "Pass" );

Výsledek:

Fail

Nebo to může být něco úplně odstraněného z odpovědi binárního typu „pravda“ nebo „nepravda“.

Například:

SELECT iif( 1 < 2, "Sticky Rice", "Banana Smoothie" );

Výsledek:

Sticky Rice

Příklad databáze

Zde je příklad, který používá sloupce z databáze.

SELECT 
  ProductName,
  Qty,
  iif( Qty < 10, "Order more", "Sufficient stock" ) AS Notes
FROM Products;

Výsledek:

ProductName  Qty         Notes           
-----------  ----------  ----------------
Hammer       10          Sufficient stock
Saw          5           Order more      
Wrench       7           Order more      
Chisel       9           Order more      
Bandage      70          Sufficient stock

  1. Jak vytvořit omezení Not Null ve sloupci v tabulce SQL Server - SQL Server / Výukový program T-SQL, část 51

  2. Binární data v MySQL

  3. Jak automaticky generovat identitu pro databázi Oracle prostřednictvím Entity framework?

  4. Jak funguje funkce Exp() v PostgreSQL