funkce SQL IIF je nová vestavěná Logická funkce zavedená v SQL Server 2012. SQL Server IIF můžeme považovat za zkrácený způsob psaní, pokud je jiný, a případová prohlášení.
funkce SQL Server IIF přijme tři argumenty. Prvním argumentem je booleovský výraz, který vrací true nebo false. Pokud výraz IIF bude pravdivý, bude v důsledku toho vrácen druhý argument. V opačném případě se třetí argument vrátí jako výstup., Podívejme se na syntaxi SQL Server funkce IIF:
SQL IIF Logické Funkce Syntaxe:
syntaxe IIF v SQL Serveru je následující:
IIF (Boolean_Expression, True_Value, Flase_Value)
Pokud daný Logický výraz (nebo test stavu), je pravda, pak to bude návrat True_Value. A pokud je to nepravdivé, vrátí se False_Value.
SQL IIF Porovnání dvou celých čísel
Tento příklad vám ukáže, pracovní funkce IIF funkce v SQL Server.
SELECT IIF(10 > 5, 'TRUE', 'FALSE') AS Result;
Z níže screenshot, můžete pozorovat, že Stav uvnitř funkce IIF (tj.,, 10 > 5) je pravda. Takže, první prohlášení (nebo druhý argument) vrátí jako výstup, což je PRAVDA,
SQL IIF Porovnat dvě proměnné typu integer
V tomto příkladu budeme používat funkce IIF zjistit, zda osoba je způsobilá hlasovat, nebo ne.
Z níže uvedeného obrázku můžete pozorovat,
- V první SELECT, stav uvnitř funkce IIF (tj. 12 > 18) je false., Tak, druhý příkaz (nebo třetí argument) vrátí jako výstup
- v Rámci druhého SELECT, stav uvnitř funkce IIF (tj. 34 > 18) je pravda. Takže, první prohlášení (nebo druhý argument) vrátí jako výstup
SQL IIF Porovnat dva řetězce
V tomto příkladu budeme používat SQL Server IIF funkce porovnání dat řetězec. Zde jsme použili ‚%‘ wildcard uvnitř druhého SELECT., Takže navrhuji, abyste odkazovali na SQL jako článek v SQL Serveru pro další odkaz.
SQL Vnořené IIF příklad
V tomto příkladu budeme používat Sql Server Vnořené funkce IIF zjistit, zda je osoba způsobilá k práci, nebo ne.
- nejprve jsme deklarovali celočíselnou proměnnou nazvanou @age a přiřadili nějakou hodnotu.
- ve funkci IIF() první podmínka ověřuje, zda je věk nižší než 18 let., Pokud je tato podmínka Pravdivá, pak to bude návrat prvního prohlášení (nebo druhý argument) po čárka, která je, že Jsi příliš Mladý, aby Práce
- Když první podmínka selže, vrátí druhý příkaz (nebo třetí argument). Pomocí SQL Serveru vnořeného IIF zde kontrolujeme ještě jednu podmínku (@age >= 18 a @age < = 60)., Pokud je tato podmínka pravdivá, Vrátí první hodnotu za čárkou, která je způsobilá pracovat
- pokud vnořená podmínka selže, provede hodnotu u třetího argumentu, což je, že jste příliš starý na to, abyste mohli pracovat.,
VÝSTUP 1: Věk = 12
Věk = 32
Stáří = 65
SQL IIF Práci s hodnoty NULL
To by bylo nejlepší, pokud jste byli opatrní při práci s hodnoty NULL uvnitř funkce IIF. Následující série příkladů vám pomůže pochopit důsledky.,
SELECT IIF(10 > 5, NULL, NULL) AS Result;
Z výše uvedeného obrázku, můžete pozorovat, že to hází chybu. Říká, že alespoň jedna z výsledku výrazu (tj. druhý nebo třetí argument po Boolean_Expression) musí být vyjádření jiných než NULL konstantní., Pojďme změnit odpovídajícím způsobem na ně a uvidíme,
SELECT IIF(10 > 5, 'TRUE', NULL) AS Result1;SELECT IIF(10 > 5, NULL, 'FALSE') AS Result2;
SQL IIF hodnoty NULL, Možnost 2
můžeme překonat chyby, které se vyskytly u konstanty NULL v IIF funkce pomocí parametrů.
DECLARE @a INT = NULL, @b INT = NULL SELECT IIF ( 10 > 5, @a, @b ) AS Result1;
IIF typ Dat s nejvyšší prioritou
funkce IIF vrátí typ dat s nejvyšší prioritou., Z následujícího příkladu bude výsledkem třetí argument (tj. 100) typu celé číslo, ale výsledek se zobrazí 100.00. Protože funkce IIF vrátí nejvyšší prioritní datový typ.
SELECT IIF ( 15 > 50, 12.45, 100 ) AS Result;
Prosím, viz POKUD Else a CASE články.