Ten post ma na celu pokazanie, jak korzystać z funkcji Decode () w zapytaniach Oracle. Funkcja Decode () umożliwia wprowadzenie osadzonej logiki IF-Then-Then-Else w zapytaniu Oracle.
Składnia funkcji, parametry i wartość zwracania
Poniższy fragment kodu oznacza funkcję funkcji decode () w Oracle:
Dekoduj (wyrażenie, wyszukiwanie, wynik [, wyszukiwanie, wynik]… [, domyślnie]);Gdzie:
Przykładowe użycie funkcji
Poniższy przykład pokazuje podstawowe użycie funkcji na funkcji Decode ():
Wybierz dekodowanie (10, 10, „true”) z Dual;Funkcja wykonuje kontrolę warunkową, jak pokazano następująco:
Jeśli 10 = 10, toPowinno to powrócić, jak pokazano następująco:
Dekod (10,10, „True”) |Jeśli warunek jest fałszywy, funkcja zwraca null, jak pokazano następująco:
Wybierz dekodowanie (10, 11, „True”) z Dual;Ponieważ warunek jest fałszywy, funkcja zwraca null w tym przypadku.
Możemy dołączyć wartość zwracaną, jeśli warunek jest fałszywy, jak pokazano następująco:
Wybierz dekodowanie (10, 11, „true”, „false”) z Dual;Powinno to powrócić w następujący sposób:
Dekoduj (10,11, „true”, „false”) |Możemy również porównać pierwszy argument z listą argumentów, jak pokazano następująco:
Wybierz dekodowanie (1, 2, „One”, 1, „One”) z Dual;W tym przypadku funkcja porównuje pierwszy argument z wartością 1, z drugim argumentem. Jeśli jest równe, funkcja zwraca trzeci argument. W przeciwnym razie porównuje wartość z czwartym argumentem i zwraca piąty argument jako prawdziwy.
Wynik:
Dekoduj (1,2, „One”, 1, „One”) |Możemy również zdefiniować wartość zwracaną, jeśli nie zostanie znalezione dopasowanie.
Wybierz dekodowanie (5, 2, „One”, 1, „One”, „wartość nie musi być ani 1 lub 2”) od podwójnego;Przykładowy wynik:
Dekoduj (5,2, „jeden”, 1, „jeden”)Wartość nie musi być ani 1 Lub 2 |
Wniosek
Ten post obejmował podstawy pracy z funkcją Oracle's Decode () w celu obsługi bardziej złożonych instrukcji IF-Else w tabelach Oracle.