ISNULL Funkcja SQL w instrukcjach przypadków

W tym blogu omówimy instrukcję CASE , której można użyć do obsługi wielu operacji logicznych. Omówimy również funkcję ISNULL SQL, która pozwoli ci zwrócić wartość zastępczą w przypadku, gdy istnieją wyrażenia, które mają wartość NULL .

Instrukcja CASE i funkcja ISNULL są bardzo pomocne w pracy z kodami wymagającymi wielu operacji logicznych oraz do szybkiego zastępowania wyrażeń wartościami stałymi lub określonymi.

Instrukcja CASE w SQL jest podobna do instrukcji IF ELSE . Jednak najprawdopodobniej jest ona podobna do instrukcji SWITCH , której używamy w języku DAX . Z drugiej strony funkcja ISNULL służy do zastępowania wartości NULL określoną wartością, której chcesz użyć.

Spis treści

Korzystanie z instrukcji CASE w języku SQL

Załóżmy, że mamy kolumny ProductName i Sales Amount .

ISNULL Funkcja SQL w instrukcjach przypadków

Następnie chcemy utworzyć dodatkową kolumnę o nazwie Description .

ISNULL Funkcja SQL w instrukcjach przypadków

Chcemy również dodać logiczne stwierdzenia, które będą wyświetlać „ Tanie ”, jeśli Kwota sprzedaży jest mniejsza lub równa 5 , a następnie „ Nie tak tanio ” dla wartości od 6 do 100 . Jeśli wartość jest większa niż sto, wyświetli się „ Drogi ”.

ISNULL Funkcja SQL w instrukcjach przypadków

W tym przykładzie użyliśmy instrukcji SELECT , aby wybrać kolumnę, którą chcemy wyświetlić. Następnie mamy instrukcję CASE , która zawiera operacje logiczne, o których wspominaliśmy wcześniej.

Używając instrukcji CASE , instrukcje WHEN i THEN są zawsze używane do wskazania operacji logicznych, które chcemy zaimplementować w wybranej kolumnie. Instrukcja ELSE służy do ustawiania wartości domyślnej, jeśli zestaw operacji logicznych nie został spełniony.

Na końcu instrukcji CASE mamy END AS i obok nazwę kolumny . Spowoduje to utworzenie nowej kolumny o nazwie Opis z wartościami opartymi na operacjach logicznych, które dodaliśmy w instrukcji CASE .

Wykorzystanie funkcji SQL ISNULL

Funkcja ISNULL służy do sprawdzania, czy w wybranej kolumnie występują wartości NULL i zastępowania ich dowolną określoną wartością. Teraz wyobraźmy sobie, że mamy następujące kolumny z wartościami NULL .

ISNULL Funkcja SQL w instrukcjach przypadków

W powyższym przykładzie wszystkie wartości NULL są zastępowane wartościami „ Nieznane ”. Poniższe wiersze kodu są używane do tworzenia tego przykładu.

ISNULL Funkcja SQL w instrukcjach przypadków

Używając funkcji SQL ISNULL , należy zacząć od wybrania kolumny MiddleName za pomocą instrukcji SELECT .

Następnie należy użyć funkcji ISNULL , aby sprawdzić kolumnę MiddleName określoną w nawiasach i zastąpić w niej dowolną wartość NULL wartością „ Unknown ”.

Funkcja AS służy do tworzenia nowej kolumny, którą w tym przypadku jest MiddleName_New .

Zwróć uwagę, że funkcja ISNULL zastąpi wartości NULL tylko wtedy, gdy określona wartość nie jest równa NULL . Następnie zwróci tę samą wartość z kolumny, którą określiłeś w funkcji ISNULL .

Następnie użyję instrukcji CASE i funkcji ISNULL w SSMS , aby zobaczyć, jak to faktycznie działa. 

Instrukcja CASE w SSMS

Zacznijmy od wybrania kolumny FirstName z Person.Person . Zwróć uwagę, że w tym przykładzie nie trzeba wybierać kolumny. To jest tylko w celach informacyjnych.

ISNULL Funkcja SQL w instrukcjach przypadków

Po wywołaniu tej kolumny utwórzmy kolumnę, która będzie wyświetlać wartości niezależnie od tego, czy imię to Kim , czy nie, używając instrukcji CASE . Aby to zrobić, po prostu postępuj zgodnie z poniższym przykładem.

ISNULL Funkcja SQL w instrukcjach przypadków

W powyższym przykładowym kodzie dodaliśmy warunek za pomocą instrukcji CASE , gdzie jeśli imię jest równe „ Kim ”, wyświetli się „ Tak ”, a jeśli nie, zamiast tego wyświetli się „ Nie ”.

W tym przykładzie utworzyłem również nową kolumnę o nazwie „ IsKim ”, używając funkcji END AS . Zobacz przykład poniżej, aby zobaczyć wynik.

ISNULL Funkcja SQL w instrukcjach przypadków

Teraz spójrzmy na inny przykład użycia instrukcji CASE poprzez zastosowanie pewnych warunków do kolumny TaxAmt z tabeli Sales.SalesOrderHeader .

Najpierw przenieśmy 100 najlepszych kolumn z Sales.SalesOrderHeader przy użyciu następującego wiersza kodu i wyszukajmy kolumnę TaxAmt .

ISNULL Funkcja SQL w instrukcjach przypadków

Następnie zacznijmy stosować warunki dla kolumny TaxAmt za pomocą instrukcji CASE , korzystając z poniższego przykładu.

ISNULL Funkcja SQL w instrukcjach przypadków

Podobnie jak w poprzednim przykładzie, zaczęliśmy od wybrania kolumny, do której chcemy zastosować nasze warunki — w tym przypadku jest to kolumna TaxAmt .

Następnie w instrukcji CASE dodaliśmy warunki, w których jeśli wartość TaxAmt jest mniejsza lub równa 500, zostanie wyświetlona wartość „ Doskonały ”. Jeśli wartość TaxAmt jest mniejsza lub równa 2000 , zostanie wyświetlona wartość „ OK ”.

Dodatkowo, jeśli warunki nie zostały spełnione, zostanie wyświetlona wartość „ Not Good ” . Na końcu zestawienia utworzyłem nową kolumnę o nazwie TaxClass .

ISNULL Funkcja SQL w instrukcjach przypadków

W ten sposób wykorzystujemy instrukcję CASE w SQL . Pamiętaj, że możesz ustawić tyle warunków, ile chcesz. Pamiętaj tylko, aby użyć instrukcji WHEN i THEN oraz funkcji END AS , aby wygenerować nową kolumnę, w której zostaną wyświetlone wyniki.

ISNULL Funkcja SQL w SSMS

W tym przykładzie użyję tej samej tabeli z poprzedniego przykładu. Następnie zademonstruję, jak można użyć tej funkcji do zastąpienia wartości NULL w kolumnie CurrencyRateID

ISNULL Funkcja SQL w instrukcjach przypadków

Po wybraniu tabeli z powyższego przykładu możemy zobaczyć wartości NULL pod kolumną CurrencyRateID . Teraz chcę zastąpić te wartości NULL wartościami „ 1 ”. Aby to zrobić, zapoznaj się z poniższym przykładem.

ISNULL Funkcja SQL w instrukcjach przypadków

Aby zmienić wartości NULL w określonej kolumnie, najpierw musimy wybrać kolumnę, która ma wartości NULL. W tym przypadku jest to CurrencyRateID . Następnie użyjemy funkcji ISNULL i wybierzemy kolumnę, która zostanie sprawdzona przez funkcję ISNULL , czyli CurrencyRateID .

Musimy również zadeklarować wartość zastępczą, której chcemy użyć – w tym przykładzie użyłem ' 1 '. Na koniec dodamy funkcję AS , aby utworzyć nową kolumnę o nazwie NewRate .

W rezultacie wszystkie wartości NULL zostały zastąpione przez „ 1 ” w kolumnie NewRate , a te, które nie miały wartości NULL , pozostały takie same. Ponadto możesz również zmienić wartość NULL za pomocą kolumny. Możesz to zrobić, postępując zgodnie z poniższym przykładem.

ISNULL Funkcja SQL w instrukcjach przypadków

Używając tej samej składni z poprzedniego przykładu, właśnie dodaliśmy SalesOrderID obok CurrencyRateID jako nasze odwołanie przed funkcją ISNULL . Następnie zmieniliśmy wartość zastępczą na SalesOrderID . Ta instrukcja po prostu sprawdzi wartości NULL w CurrencyRateID i zastąpi je wartościami z kolumny SalesOrderID .

Wniosek

Podsumowując, nauczyłeś się używać instrukcji CASE i funkcji ISNULL wraz z właściwą składnią w SQL . Dowiedziałeś się również, że w instrukcji CASE możesz umieścić dowolną liczbę warunków logicznych . Zwróć tylko uwagę, że instrukcja CASE jest podobna do instrukcji SWITCH lub IF ELSE .

Oprócz funkcji ISNULL dowiedziałeś się, że istnieją różne sposoby zastępowania wartości NULL podczas korzystania z tej funkcji, czyli za pomocą wartości stałej lub kolumny.

Wszystkiego najlepszego,

Hafiz





Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.