Wartość zerowa na serwerze SQL odnosi się do kolumny, której wartości brakuje lub nieznana. Podczas pracy z bazami danych często napotykasz wartości zerowe, co utrudnia działanie danych. Możesz to rozwiązać, usuwając wartości zerowe lub zastępując je określoną wartością.
W tym artykule obejmie wbudowaną funkcję na serwerze SQL, która umożliwia zastąpienie wartości zerowych na wartość ustaloną.
Podstawowe użycie
Funkcja SQL Server ISNull zwraca określoną wartość, jeśli wyrażenie jest wartością zerową lub zwraca wyrażenie inaczej.
Poniższy fragment pokazuje składnię funkcji ISNULL.
isNull (Expression, zastępcza_value);Funkcja przyjmuje dwa argumenty:
Funkcja konwertuje typ danych wartości zastępczej na typ danych wyrażenia, jeśli są one różnych typów. Dlatego upewnij się, że typ wartości zastępczej można przekonwertować na typ wyrażenia.
SQL SERWER ISNULL () Przykłady
Spójrzmy na kilka przykładów korzystania z funkcji isNull.
Przykład 1:
Poniższy przykład używa funkcji isNull () do zwrócenia argumentu, jeśli dostarczone wyrażenie jest zerowe.
Wybierz isNull (null, „nie null”);Powyższe zapytanie powinno zwrócić ciąg „nie null”, ponieważ pierwszy argument jest wartością zerową.
Przykład 2:
Jak wspomniano wcześniej, funkcja isNull zwraca wartość zastępowania, jeśli wyrażenie jest zerowe. Jednak jeśli nie null, funkcja zwraca wartość wyrażenia.
Rozważ przykład pokazany poniżej:
Wybierz IsNull (100, 200);Zapytanie powinno zwrócić wartość wyrażenia, w tym przypadku 100, ponieważ nie ocenia wartości zerowej.
Przykład 3:
Możesz także użyć funkcji isNull ze zmiennymi. Rozważ przykład instrukcji SQL pokazanej poniżej:
Deklaruj @Expression Varchar (50);W tym przykładzie powyższy kod powinien zwrócić wartość przechowywaną przez zmienną @ReplaceMent.
Przykład 4:
Możemy również użyć funkcji isNull do zastąpienia wartości zerowych w tabeli. Może to być przydatne, gdy trzeba wykonywać aktualizacje tabeli bez wprowadzania zmian w bazie danych.
Rozważmy na przykład tabelę klientów z przykładowej sprzedaży. Zawiera wartości zerowe w kolumnie środkowej.
Wybierz 10 * od klientów;Możemy zastąpić wartości NULL N/A za pomocą funkcji ISNULL, jak pokazano w poniższym kodzie przykładowym:
Wybierz Top 10 FirstName, IsNull (MiddleInitial, „N/A”) jako początkowe, LastName od klientów;Zapytanie powinno zwrócić rekordy, w których wartość kolumny środkowej jelit jest zastąpiona ciągiem „n \ a”.
Przykładem jest to, jak pokazano:
Przykład 5:
Funkcja ISNULL jest pod ręką, gdy trzeba wykonywać operacje, takie jak średnia dla zestawu wartości.
Na przykład możemy użyć funkcji ISNull do zastąpienia wartości zerowych 0 i wykonania średniej.
Rozważ poniższy przykład:
Wybierz AVG (isNull (cena, 0)) jako średnia wartość od produktów;Powyższy przykład powinien zwrócić średnią wszystkich wartości w kolumnie ceny bazy danych. Funkcja powinna zastąpić wszystkie wartości zerowe w kolumnie 0, umożliwiając wykonanie prawie dokładnych obliczeń.
Średnia cenaIsnull vs. Jest NULL
W SQL Server istnieje funkcja o nazwie NULL. W przeciwieństwie do funkcji isNull () określa, czy wyrażenie jest zerowe. Oznacza to, że zwraca wartość logiczną zamiast wyrażenia.
Poniższy przykład pokazuje użycie instrukcji null na serwerze SQL.
Wybierz 10 * od klientów, w których MiddleInitial jest zerowy;Ponieważ instrukcja IS NULL zwraca wartość logiczną, SQL Server używa jej do pobierania wszystkich wierszy, w których warunek jest prawdziwy.
Przykładowym wynikami jest:
Wniosek
W tym przewodniku zrozumiałeś, jak pracować z funkcją SQL Server isNull (), aby ocenić i zastąpić wyrażenie zerowe.