04.02.2013, Vladimír Klaus, navštíveno 4553x
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
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
Podívejte se také na příbuznou funkci CHOOSE().