Udostępnij za pośrednictwem


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.

Składnia

CASE (expression, option 1, result 1[, option 2, result 2, …, option N, result N, default result])

Argumenty

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.

Wartości zwracane

Dowolny z obsługiwanych typów danych

Wynikowa wartość dowolnego z obsługiwanych typów danych.

Uwagi dotyczące użytkowania

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.

Przykład

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.

Dodatkowe zasoby

Funkcje logiczne