Składnia funkcji Coalesce
Składnia funkcji Coalesce podano poniżej:
Coalesce (wyrażenie 1, wyrażenie 2,…, wyrażenie n)LUB
NVL (wyrażenie 1, wyrażenie 2,…, wyrażenie n)Nie ma ograniczeń do wartości, którą możesz wprowadzić. Funkcja Coalesce działa jak warunek IF-ELSE. Zacznie wyszukiwać od lewej do prawej, aż znajdzie wyrażenie nie zerowe. Oznacza to, że rozpocznie wyszukiwanie od pierwszego wyrażenia. Jeśli jest zerowa, przejdzie do drugiego wyrażenia, aby sprawdzić wyrażenie i tak dalej, aż otrzyma wyrażenie nie zerowe.
Funkcja Coalesce jest niezależna od typu danych, co oznacza, że możesz użyć funkcji Coalesce na każdym wyrażeniu typu danych. Ale wszystkie wyrażenia powinny być tego samego typu. Na przykład funkcja Coalesce nie zezwala na wyrażenie 1 typu danych numerycznych i wyrażenie 2 typu danych znaków. Tak więc, korzystając z funkcji Coalesce, upewnij się, że wszystkie wyrażenia wejściowe powinny mieć ten sam typ danych.
Przykłady funkcji łącza
W tej sekcji wykorzysta różne przykłady, aby wyjaśnić, w jaki sposób funkcję Coalesce lub NVL może być używana w różnych scenariuszach. Użyjemy następujących przykładów, aby zrozumieć funkcję Coalesce:
Korzystanie z funkcji Coalesce na wielu wartościach
W pierwszym przykładzie postaramy się zrozumieć działanie funkcji Coalesce, stosując ją do wielu wartości.
Użyj następującego zapytania, aby zaimplementować funkcję Coalesce:
Wybierz Coalesce (NULL, NULL, NULL, 56, NULL, 100)Poprzednie zapytanie wygeneruje następujące dane wyjściowe:
56Funkcja Coalesce rozpoczyna wyszukiwanie od sprawdzania pierwszego wyrażenia, które jest zerowe. Przechodzi do drugiego wyrażenia, które jest również zerowe. Przechodzi do trzeciego wyrażenia, które ma również wartość zerową. Następnie przejdzie do czwartego wyrażenia, który nie jest wartością zerową, i zwróci czwarte wyrażenie, i.mi., 56.
W tym przykładzie zastosujemy funkcję Coalesce na typie varchar, aby pokazać, że funkcja Coalesce jest niezależna od typów danych. Użyj następującego zapytania, aby zastosować funkcję Coalesce na parametrach typu varchar danych.
Wybierz Coalesce (NULL, NULL, „Cocacola”, Null, „Pepsi”);Wygeneruje następujące dane wyjściowe:
COCACOLATak więc ten przykład dowodzi, że funkcja Coalesce jest niezależna od typów danych przekazanych parametrów. Funkcja Coalesce zaczyna szukać wyrażenia nie zerowego, więc COCACOLA jest pierwszym nie zerowym wyrażeniem. Funkcja Coalesce zwraca COCACOLA, a pozostałe wyrażenia są nie ocenione.
Korzystanie z funkcji Coalesce na pojedynczej wartości
W tym przykładzie użyjemy funkcji Coalesce na jednym wyrażeniu. Użyj następującego zapytania, aby zaimplementować funkcję Coalesce na jednym wyrażeniu:
Wybierz Coalesce (56);Wynik poprzedniego zapytania będzie następujący:
56Funkcja Coalesce rozpoczyna wyszukiwanie, a pierwsze wyrażenie nie jest zerowe, aby zwróciło to wyrażenie, i.mi., 56.
Teraz stosujemy funkcję Coalesce na jednym wyrażeniu, a jej wartość jest null.
Wybierz Coalesce (NULL);Zwróci pustą odpowiedź, ponieważ istnieje tylko jedno wyrażenie zerowe, a funkcja łącza zwraca jedynie wyrażenie zerowe.
Korzystanie z funkcji NVL
W tym przykładzie zastosujemy funkcję NVL zamiast funkcji Coalesce, aby zwrócić pierwszą wartość nie zerową.
Użyj następującego zapytania, aby zastosować funkcję NVL zamiast funkcji Coalesce:
Wybierz NVL (NULL, NULL, 100, NULL, 1000);Zwróci następującą odpowiedź.
100Ten przykład pokazuje, że NVL działa dokładnie tak samo jak funkcja Coalesce. Krótko mówiąc, możemy powiedzieć, że NVL jest synonimem funkcji Coalesce.
Korzystanie z funkcji Coalesce z tabelami
W tej sekcji użyje wielu przykładów do wdrożenia funkcji Coalesce z tabelami. Najpierw utworzymy tabelę i wstawymy do niej dane. Następnie użyjemy funkcji Coalesce w tej tabeli.
Użyj następującego zapytania, aby utworzyć AWS_REDSHIFT_COALESCE Tabela w klastrze Redshift:
Utwórz tabelę AWS_REDSHIFT_COALESCE (First_Value int, Second_Value Int);Teraz wstaw dane do tej tabeli, w tym niektóre wartości zerowe
Wstaw wartości AWS_REDSHIFT_COALESCE („240”, NULL);Po włożeniu danych zastosuj do niej funkcję Coalesce za pomocą następującego zapytania:
Wybierz Coalesce (First_value, Second_Value)Wygeneruje następujące dane wyjściowe:
240Funkcja Coalesce zaczyna sprawdzać pierwszą kolumnę. W pierwszej kolumnie 240, 480 i 1080 są wartościami nie zerowymi. Tak więc funkcja Coalesce zwraca te wartości, a następnie sprawdza drugą kolumnę, w której znalazła 360 i 720 jako wartości nie zerowe.
W poniższym przykładzie użyjemy tej samej tabeli, aby zrozumieć koncepcję funkcji Coalesce na jednej kolumnie.
Wybierz Coalesce (First_Value)To zapytanie, po wykonaniu, wygeneruje następujące dane wyjściowe.
240w pierwsza kolumna, Tylko 240 i 480 nie są wartościami zerowymi. Tak więc funkcja Coalesce zwróci tylko te dwie wartości.
Jeśli zastosujemy funkcję Coalesce na drugiej kolumnie tabeli.
Wybierz Coalesce (First_Value)To zapytanie wygeneruje następujący wynik po wykonaniu:
360W drugiej kolumnie 360, 720 i 1080 są wartościami nie zerowymi. Tak więc funkcja Coalesce zwróci tylko te trzy wartości.
Wniosek
W tym artykule zbadaliśmy, jak korzystać z funkcji Coalesce, aby uzyskać pierwszy wyrażenie nie zerowe. Funkcja Coalesce jest bardzo przydatna, aby znaleźć wartość nie zerową na podstawie danych. Jeśli wszystkie wartości kolumny są zerowe, funkcja Coalesce zwróci pusty wynik. Powinno to być to samo wyrażenie typu danych w pojedynczej kolumnie. Kiedy funkcja Coalesce dowiaduje się o wyrażeniu nie zerowym, przestaje wykonania, a pozostałe wyrażenia pozostają niezaznaczone.