case
ďalšie názvy článku: SQL - case, if sql, sql if
SQL -> Ukážkové skripty v SQL -> case
Popis
Príkaz SQL.
Nie vždy sa vo výpise hodia údaje práve v takom tvare, ako v databázovej tabulke. Niekedy potrebujeme zverejniť hodnoty len v intervaloch, inokedy potrebujeme priradiť niektorým hodnotám iný význam a podobne. Nato slúži práve príkaz case.
Ukážka
Zo vzorovej tabuľky Tovar chceme vybrať stĺpce Nazov a Cena.
SELECT Nazov,
case WHEN Cena<=1000 THEN 'Lacná'
WHEN Cena>1000 and Cena<=3000 THEN 'Stredná'
WHEN Cena>3000 and Cena<=8000 THEN 'Drahá'
else 'Extrémne drahá' END AS Kategoria
FROM Tovar;
case WHEN Cena<=1000 THEN 'Lacná'
WHEN Cena>1000 and Cena<=3000 THEN 'Stredná'
WHEN Cena>3000 and Cena<=8000 THEN 'Drahá'
else 'Extrémne drahá' END AS Kategoria
FROM Tovar;
Na niektorých databázach sa miesto AS používa znak '=', teda inde by mohol rovnaký príkaz vypadať takto:
SELECT Nazov, 'Kategoria' =
case WHEN Cena<=1000 THEN 'Lacná'
WHEN Cena>1000 and Cena<=3000 THEN 'Stredná'
WHEN Cena>3000 and Cena<=8000 THEN 'Drahá'
else 'Extrémne drahá' END
FROM Tovar;
case WHEN Cena<=1000 THEN 'Lacná'
WHEN Cena>1000 and Cena<=3000 THEN 'Stredná'
WHEN Cena>3000 and Cena<=8000 THEN 'Drahá'
else 'Extrémne drahá' END
FROM Tovar;
Dostaneme:
Nazov | Kategoria |
---|---|
Kuchynský stôl | Stredná |
Stolička | Lacná |
Stolička | Lacná |
Stolička | Lacná |
Odkazy
- Niektoré databázy používajú miesto tohoto príkazu príkaz DECODE
- Ak hľadáte podobný príkaz pre jazyk PHP, pozrite SWITCH