Funkcja węglowego przesunięcia ku czerwieni

Funkcja węglowego przesunięcia ku czerwieni
Funkcja Coalesce Redshift zwraca pierwsze wyrażenie nie zerowe z listy. Funkcja Coalesce zaczyna odczytać listę, a gdy zostanie znaleziona pierwsza nie zerowa wartość, funkcja nie odczytuje pozostałych i zwróci pierwszą wartość nie zerową. Jeśli wszystkie wartości listy są zerowe, funkcja Coalesce zwróci wartość zerową. Funkcja Coalesce jest również nazywana funkcją obsługi zerowej NVL. Służy do obsługi wartości zerowych na liście.

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
  • Korzystanie z funkcji Coalesce na jednej wartości
  • Korzystanie z funkcji NVL
  • Korzystanie z funkcji Coalesce z tabelami

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:

56
(1 rząd)

Funkcja 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:

COCACOLA
(1 rząd)

Tak 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:

56
(1 rząd)

Funkcja 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ź.

100
(1 rząd)

Ten 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);
Wstaw wartości AWS_REDSHIFT_COALESCE (NULL, „360”);
Wstaw wartości AWS_REDSHIFT_COALESCE („480”, NULL);
Wstaw wartości AWS_REDSHIFT_COALESCE (NULL, „720”);
Wstaw wartości AWS_REDSHIFT_COALESCE (NULL, „1080”);

Po włożeniu danych zastosuj do niej funkcję Coalesce za pomocą następującego zapytania:

Wybierz Coalesce (First_value, Second_Value)
z AWS_REDSHIFT_COALESCE
Zamów przez 1;

Wygeneruje następujące dane wyjściowe:

240
360
480
720
1080
(5 wierszy)

Funkcja 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)
z AWS_REDSHIFT_COALESCE
Zamów przez 1;

To zapytanie, po wykonaniu, wygeneruje następujące dane wyjściowe.

240
480
(2 wiersze)

w 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)
z AWS_REDSHIFT_COALESCE
Zamów przez 1;

To zapytanie wygeneruje następujący wynik po wykonaniu:

360
720
1080
(3 wiersze)

W 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.