Drukuj      Otwórz Pomoc bezpośrednią w wersji PDF


Poprzedni temat

Następny temat

Instrukcje Case

Instrukcje Case to elementy składowe służące do tworzenia wyrażeń warunkowych umożliwiających uzyskanie różnych wyników w zależności od wartości kolumn.

Case (Switch)

Tę formę instrukcji Case określa się także jako formę CASE (Lookup). Analizowana jest wartość wyrażenia1, a następnie wyrażeń WHEN. Jeśli wyrażenie1 jest zgodne z którymś z wyrażeń WHEN, przydzielana jest wartość w odpowiednim wyrażeniu THEN.

Jeśli wyrażenie1 jest zgodne z więcej niż jedną klauzulą WHEN, przydzielane jest tylko wyrażenie następujące po pierwszym dopasowaniu.

Jeśli żadne z wyrażeń WHEN nie jest zgodne, przydzielana jest wartość określona w wyrażeniu ELSE. Jeśli nie określono wyrażenia ELSE, przydzielana jest wartość NULL.

Należy także zapoznać się z informacjami na temat instrukcji Case (If).

Składnia:

wyrażenie1 CASE

wyrażenie WHEN wyrażenie THEN

{wyrażenie WHEN... wyrażenie THEN...}

wyrażenie ELSE

END

Gdzie:

CASE

Służy do uruchamiania instrukcji CASE. Następnie musi występować wyrażenie oraz co najmniej jedna instrukcja WHEN i THEN, opcjonalna instrukcja ELSE oraz słowo kluczowe END.

WHEN

Określa warunek, który powinien zostać spełniony.

THEN

Służy do określania wartości do przydzielenia, gdy spełniony jest warunek dotyczący powiązanego wyrażenia WHEN.

ELSE

Służy do określania wartości do przydzielenia, gdy nie są spełnione warunki dotyczące wyrażenia WHEN. W przypadku pominięcia zakłada się wartość ELSE NULL.

END

Kończy instrukcję CASE.

Przykład

CASE Score-par

WHEN -5 THEN 'Birdie on Par 6'

WHEN -4 THEN 'Must be Tiger'

WHEN -3 THEN 'Three under par'

WHEN -2 THEN 'Two under par'

WHEN -1 THEN 'Birdie'

WHEN 0 THEN 'Par'

WHEN 1 THEN 'Bogey'

WHEN 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

W powyższym przykładzie wyrażenia WHEN muszą odzwierciedlać dokładną równość; warunek WHEN

WHEN < 0 THEN 'Under Par'

jest nieprawidłowy, ponieważ operatory porównania są niedozwolone.

Case (If)

Ta forma wyrażenia CASE służy do oceniania poszczególnych warunków WHEN i jeśli są one spełnione, przydziela wartość w odpowiednim wyrażeniu THEN.

Jeśli żaden z warunków WHEN nie jest spełniony, przydzielana jest wartość domyślna określona w wyrażeniu ELSE. Jeśli nie określono wyrażenia ELSE, przydzielana jest wartość NULL.

Należy także zapoznać się z informacjami na temat instrukcji Case (Switch).

Składnia:

CASE

warunek_żądania1 WHEN wyrażenie1 THEN

{warunek_żądania2 WHEN wyrażenie2 THEN}

{warunek_żądania... WHEN wyrażenie... THEN}

wyrażenie ELSE

END

Gdzie:

CASE

Służy do uruchamiania instrukcji CASE. Następnie musi występować co najmniej jedna instrukcja WHEN i THEN, opcjonalna instrukcja ELSE oraz słowo kluczowe END.

WHEN

Określa warunek, który powinien zostać spełniony.

THEN

Wartość do przydzielenia, gdy spełniony jest warunek dotyczący powiązanego wyrażenia WHEN.

ELSE

Służy do określania wartości, gdy nie są spełnione warunki dotyczące wyrażenia WHEN. W przypadku pominięcia zakłada się wartość ELSE NULL.

END

Kończy instrukcję CASE.

Przykład

CASE

WHEN score-par < 0 THEN 'Under Par'

WHEN score-par = 0 THEN 'Par'

WHEN score-par = 1 THEN 'Bogie'

WHEN score-par = 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

W przeciwieństwie do formy Switch instrukcji CASE instrukcje WHEN w formie If zezwalają na operatory porównania, warunek WHEN

WHEN < 0 THEN 'Under Par'

jest prawidłowy.


Opublikowano: Sierpień 2018 Copyright © 2005, 2018, Oracle. Wszelkie prawa zastrzeżone. Legal Notices.