04.02.2013, Vladimír Klaus, navštíveno 4553x

MS Access
SQL

Funkce vrátí různé hodnoty na základě více podmínek. Ukážeme si to na příkladu, kde zadáme tři podmínky na výši částky objednávky a podle toho, která podmínka bude splněna, nám funkce vrátí různé textové vyhodnocení výše částky.

V případě, že by žádná podmínka nebyla splněna (to není náš případ), vrátí funkce NULL.

SELECT Castka,
SWITCH(Castka < 1000, "nízká",
Castka >= 1000 AND Castka < 2000, "střední",
Castka >= 2000, "vysoká") AS Hodnota
FROM Objednavky

SQL obrázek

Je třeba poznamenat, že pokud se budou podmínky překrývat, bude použita (vrácena) hodnota dle první splněné podmínky. Pokud by výše uvedený dotaz vypadal takto, bude několik údajů zařazené do kategorie „střední“, i když splňují také kategorii „vysoká“.

SELECT Castka,
SWITCH(Castka < 1000, "nízká",
Castka >= 1000 AND Castka < 3000, "střední",
Castka >= 2000, "vysoká") AS Hodnota
FROM Objednavky

SQL obrázek

Podívejte se také na příbuznou funkci CHOOSE().