Funkcja Oracle Coalesce

Funkcja Oracle Coalesce
W tym poście nauczymy się, jak pracować z funkcją Coalesce (), aby pobrać pierwszą wartość nie-zerową na liście.

Wprowadzenie do funkcji Oracle Coalesce ()

Funkcja Coalesce () pozwala określić listę argumentów i zwrócić pierwszy argument nie-null z dostarczonego zestawu.

Możemy wyrazić składnię funkcji w następujący sposób:

Coalesce (Expression1, Expression2,…, Expressionn);

W dostarczonej składni ekspresja1, ekspresja2,…, expressionn reprezentuje wyrażenia, które należy ocenić dla wartości zerowych.

Gdy funkcja napotknie pierwszą wartość nie-null na liście dostarczonych wyrażeń, zwraca tę wartość. Jednak funkcja zwraca null, jeśli wszystkie wyrażenia są zerowe.

Weźmy ten przykład, który pokazuje podstawowe użycie funkcji Coalesce () w bazach danych Oracle:

Wybierz Coalesce (NULL, NULL, 1, 2, 3) jako z podwójnego;

W poprzednim przykładzie używamy funkcji Coalesce () z pięcioma wartościami wejściowymi lub wyrażeniami. Ponieważ dwie pierwsze wartości są zerowe, funkcja zwraca pierwszą wartość po tej, która jest liczbą całkowitą 1.

Przykładowe dane wyjściowe:

Weź ten drugi przykład, który pokazuje wartość zwracaną, jeśli wszystkie wyrażenia są zerowe.

Wybierz Coalesce (NULL, NULL, NULL) jako z podwójnego;

Funkcja zwraca zerową, jak pokazano następująco:

Funkcja Coalesce () zwraca ten sam typ danych co typ wejściowy, jeśli wszystkie wartości są tego samego typu.

Jeśli jednak wyrażenia wejściowe są różnych typów danych, funkcja próbuje wykonać niejawną konwersję typu na wszystkie wyrażenia do typu danych pierwszego wyrażenia nie-zerowego.

Jeśli konwersja się nie powiedzie, silnik bazy danych zwraca błąd.

Przykład jest, jak pokazano następująco:

Wybierz Coalesce (NULL, NULL, NULL, 1, „B”) jako z podwójnego;

W takim przypadku wyrażenia są różnych typów danych. Ponieważ pierwsze wyrażenie nie-nullowe jest liczbą, funkcja próbuje przekonwertować wszystkie wyrażenia na typ liczby.

Powstały błąd jest jak pokazano:

[42000] [932] ORA-00932: Niezgodne dane dotyczące danych: oczekiwana liczba Got Char

Warto pamiętać, że funkcja wykorzystuje ocenę zwarcia. Oznacza to, że funkcja zatrzymuje się na spotkaniu z pierwszym wyrażeniem nie-zerowym. Stąd, nawet jeśli wystąpi błąd po pierwszym wyrażeniu nie zerowym, nie zarejestruje się, ponieważ funkcja go nie oceni.

Wniosek

W tym poście odkryłeś funkcję pracy i użycie funkcji Oracle Coalesce (), aby zwrócić pierwszy argument nieerowy w wyrażeniu.