Wyra enie CASE


Wyrażenie CASE
Wyrażenie CASE zapewnia funkcjonalność konstrukcji typu IF-THEN-ELSE w SQL.
Wynik wyrażenia CASE może być m.in. uzależniony od wartości w jednej kolumnie :
select last_name, department_id,
case department_id
when 90 then 'Zarząd'
when 60 then 'Geeki informatyczne'
else 'Inni'
end case
from employees;
W powyższym przykładzie jeśli w kolumnie department_id pojawi się wartość 90, case zwróci nam
ciąg tekstowy  Zarząd , jeśli pojawi się wartość 60 dostaniemy tekst  Geeki informatyczne . W
przypadku pojawienia się dowolnej innej wartości otrzymamy tekst  Inni . Po wszystkich
warunkach musi być zakończenie konstrukcji klauzulą  END CASE lub samo  END .
Bezpłatne materiały edukacyjne. Wyrażenie CASE www.jsystems.pl A.Klusiewicz 1/3
Klauzula  else nie jest konieczna. W przypadku pojawienia się innej niż 60 lub 90 wartości,
dostaniemy NULL.
Na powyższym obrazku widzimy też użycie aliasu dla wyrażenia CASE. Aby można było użyć
aliasu, warunki musimy zakończyć klauzulą  END . W przypadku zastosowania klauzuli  END
CASE dostajemy błąd.
Bezpłatne materiały edukacyjne. Wyrażenie CASE www.jsystems.pl A.Klusiewicz 2/3
CASE nie musi opierać się na wartościach z jednej kolumny. Na poniższym przykładzie pokazuję
dodanie kolumny z opisem stanowiska uzależnionym od wartości w różnych kolumnach.
select last_name, salary,department_id,manager_id, case
when manager_id is null then 'Prezes'
when department_id=90 then 'Czlonek zarządu'
when department_id=60 and salary>5000 then 'Programista Oracle :)'
when department_id=100 then 'Ci co nie chcą dać podwyżek'
else 'jacyś inni' end stanowisko
from employees;
Case działa w taki sposób, że jeśli warunek okaże się prawdziwy, nie sprawdza następnych. Widać
to na przykładzie pracownika  King . Pracuje w departamencie 90 i jednocześnie ma null w
manager_id. Wyświetla się przy nim  Prezes a nie  Członek zarządu , ponieważ warunek
pierwszy został spełniony (null w manager_id) i system nie sprawdzał kolejnego.
Bezpłatne materiały edukacyjne. Wyrażenie CASE www.jsystems.pl A.Klusiewicz 3/3


Wyszukiwarka

Podobne podstrony:
Viral Blog Post Case Study
case study pracujpl
Ćw4 Instrukcje CASE i IF
Case study 1 za??znik 5
zagro enie wybuchem
Oduwole Ebunoluwa Ethical Case Deliberation Involving the End of Life Decision
Cd Dvd Case (Baby) Regular Typ Szablon I Instrukcja Składania
Laboratorium Use Case Diagram
GRANICE WYRA E NIEOZNACZONYCH
Do it Yourself Pick Case Making

więcej podobnych podstron