CASE, funkcja ER
Funkcja CASE
oblicza wartość określonego wyrażenia względem określonych alternatywnych opcji i zwraca wynik pierwszej opcji, która jest równa wartości określonego wyrażenia. W przeciwnym razie zwraca ona domyślny wynik opcjonalny, jeśli domyślny wynik jest określony jako ostatni argument wywołanej funkcji, który nie jest poprzedzony opcją. Wartość zwracana może być wartością dowolnego z obsługiwanych typów danych.
CASE (expression, option 1, result 1[, option 2, result 2, …, option N, result N, default result])
expression
: Typ danych pierwotnych (wartość logiczna, numeryczna lub tekst)
Prawidłowe wyrażenie, które zwraca wartość typu danych pierwotnych.
option 1
: Typ danych pierwotnych (wartość logiczna, numeryczna lub tekst)
Prawidłowe wyrażenie, które zwraca wartość tego samego typu danych pierwotnych jako argument expression
wywołanej funkcji. Ten argument jest wymagany.
result 1
: Dowolny z obsługiwanych typów danych
Zwrócony wynik, który odpowiada poprzedniej opcji. Ten argument jest wymagany.
option N
: Typ danych pierwotnych (wartość logiczna, numeryczna lub tekst)
Prawidłowe wyrażenie, które zwraca wartość tego samego typu danych pierwotnych jako argument expression
wywołanej funkcji. Ten argument jest opcjonalny.
result N
: Dowolny z obsługiwanych typów danych
Zwrócony wynik, który odpowiada poprzedniej opcji. Ten argument jest opcjonalny.
default result
: Dowolny z obsługiwanych typów danych
Wynik, który powinien zostać zwrócony, jeśli nie ma dopasowania. Ten argument jest opcjonalny.
Dowolny z obsługiwanych typów danych
Wynikowa wartość dowolnego z obsługiwanych typów danych.
Wyjątek jest generowany w czasie wykonywania, jeśli nie ma dopasowania i opcjonalny domyślny wynik nie został zdefiniowany.
Wszystkie wyniki muszą być określone przy użyciu tego samego typu danych. Wyjątek jest zgłaszany w czasie projektowania, jeśli typy danych skonfigurowanych wyników nie są zgodne.
Jeśli pierwsza wartość wyniku i N-ta wartość wyniku są wartościami o typie danych Kontener (rekord) lub Lista rekordów, wynik ma tylko pola, które istnieją w obu wartościach.
Funkcja CASE( DATETIMEFORMAT( NOW(), "MM"), "10", "WINTER", "11", "WINTER", "12", "WINTER", "")
zwraca ciąg „WINTER”, jeśli bieżąca data sesji aplikacji przypada w miesiącach od października do grudnia. W przeciwnym razie zwraca ciąg pusty.