Od czasu do czasu spotykamy sytuację, w której musimy poradzić sobie z wartościami zerowymi w bazie danych. W tym samouczku przyjrzy się ważnej funkcji serwera SQL, która umożliwia porównanie wartości i zwrócenie pierwszej wartości nie-zerowej w zestawie.
Jaka jest wartość zerowa?
Możemy zdefiniować wartość zerową jako brak lub brak wartości. W SQL Server wartość zerowa odnosi się do kolumny, której wartość jest nieznana lub brakuje. Stąd zero lub pusty ciąg nie jest wartością zerową.
SQL Server Coalesce Funkcja
Funkcja Coalesce () na serwerze SQL jest używana do sekwencyjnej oceny zestawu wartości i zwrócenia pierwszej wartości nie-zerowej z zestawu.
Możesz się zastanawiać, dlaczego muszę użyć funkcji Coalesce () nad isNull ()?
Czasami możesz użyć funkcji Coalesce () jako alternatywy dla isnull (). Zaletą łączenia się nad Isnullem jest to, że akceptuje on ponad dwa parametry.
Składnia funkcji Coalesce () jest jak pokazano:
Coalesce (Expression1, Expression2,… Expressionn)Funkcja przyjmuje wyrażenia skalarne i zwraca pierwsze wyrażenie nie-zerowe z dostarczonego zestawu. Jeśli wszystkie wyrażenia ocenią do NULL, funkcja zwróci również wartość zerową, wskazując, że nie ma wartości nie-zerowej.
Możesz użyć funkcji Coalesce w klauzulach SQL, które akceptują wyrażenia, takie jak wybór, gdzie grupa przez itp.
Właściwości funkcji SQL Server Coalesce ()
Funkcja Coalesce zawiera następujące właściwości:
Spójrzmy na różne przykłady korzystania z funkcji Coalesce () na serwerze SQL.
Przykład 1
Poniższy przykład pokazuje, jak korzystać z funkcji Coalesce, aby zwrócić pierwszą wartość non-null z dostarczonego zestawu.
Wybierz Coalesce (NULL, „NULL”, NULL);Powyższy kod powinien zwrócić ciąg „null”.
Przykład 2
Możesz także użyć funkcji Coalesce na zbiorze wartości liczb całkowitych, jak pokazano w poniższym kodzie przykładowym:
Wybierz Coalesce (NULL, 1, 2, 3, 4, 5, NULL);Ponieważ pierwsza wartość nieerowa w zestawie wynosi 1, funkcja powinna zwrócić 1 jako:
Przykład 3
Co się stanie, jeśli użyjemy funkcji Coalesce z wyrażeniami innego typu? Rozważ przykładowy kod poniżej:
Wybierz Coalesce (NULL, „NULL”, 100, NULL);Jeśli wykonasz powyższy kod, SQL Server zwraca komunikat o błędzie jako:
Przykład 4
Dobrym przykładem przypadków użycia funkcji Coalesce jest wykonywanie połączenia ciągu. Rozważ przykładowe zapytanie poniżej:
Użyj SalesDB;Zauważasz, że powyższe zapytanie zwraca rzędy wartości zerowych, jak pokazano:
Aby to rozwiązać, możemy użyć funkcji Coalesce, jak pokazano w pytaniu poniżej:
Użyj SalesDB;Kod powinien wyeliminować wartości zerowe, jak pokazano na poniższym wyjściu:
Przykład 5
Możesz użyć funkcji Coalesce, aby zastąpić wartości zerowe nowymi wartościami.
Na przykład rozważ przykładowe zapytanie poniżej:
Użyj SalesDB;To zwraca kolumny w tabeli klientów. Będziesz zniósł wartości w kolumnie MiddleItal:
Zamiast wartości zerowej, możemy użyć funkcji Coalesce, aby zwrócić ciąg „pusty”, w którym brakuje środkowej oddziału.
Przykładowe zapytanie jest takie, jak pokazano:
Użyj SalesDB;Powyższy kod zastępuje wartości zerowe ciągiem „brakujące”, jak pokazano:
Porównaj Coalesce () VS Case
Jeśli użyłeś wyrażenia przypadku na serwerze SQL, zauważysz, że funkcja Coalesce () zachowuje się podobnie. Wynika to z faktu, że funkcja Coalesce () jest bardziej kompaktową i zminimalizowaną wersją instrukcji sprawy. Jest to mniej kodu i jest znacznie czytelne.
Owinięcie!
Ten przewodnik obejmował podstawy korzystania z funkcji SQL Server Coalesce, aby uzyskać pierwszy nie-null z danego zestawu. Wykazaliśmy również przykładowe przypadki użycia funkcji Coalesce.
Dziękujemy za przeczytanie i sprawdzenie więcej samouczków SQL Server.