SQLShack (Polski)

Ten artykuł bada manipulację łańcuchami za pomocą funkcji SQL Coalesce w SQL Server.

manipulacja ciągiem jest procesem generowania innej formy istniejących danych w sposób, w jaki firma wykorzystuje lub wyświetla wyniki w raportach. Poprzednie artykuły SQL string function, które napisałem, w tym SQL string functions for Data Munging oraz SQL Substring function przegląd omówiono przygotowanie danych i zadania zarządzania danymi przy użyciu wbudowanych funkcji SQL Server string.,

SQL server ma również wbudowane funkcje znakowe, które pozwalają nam również manipulować i przekształcać dane. Jednocześnie ważne jest, aby zbadać zbiór danych, zbadać wartości danych i kodować lub dekodować wartości, w razie potrzeby, w celu wygenerowania znaczących danych. Ważne jest, aby wiedzieć, jak poruszać się po brakujących wartościach w naszych zestawach danych, zrozumieć wpływ na obliczenia, zapytania, raporty i przygotowanie zestawów danych oraz wymyślić techniki, aby uniknąć pozwolić wartości Null zrujnować nasze zestawy wyników.

Co to jest wartość NULL?,

zanim zagłębimy się w to, jak poruszać się po potencjalnym polu minowym zestawów danych z brakującymi wartościami i uniknąć nadepnięcia na Null, najpierw przyjrzyjmy się, czym jest NULL.

zgodnie z definicją Wikipedii

Null (lub NULL) jest specjalnym znacznikiem używanym w strukturalnym języku zapytań, aby wskazać, że wartość danych nie istnieje w bazie danych. Wprowadzony przez twórcę relacyjnego modelu bazy danych, E. F., Codd, SQL Null służy do spełnienia wymogu, że wszystkie prawdziwe systemy zarządzania relacyjnymi bazami danych (RDBMS) obsługują reprezentację „brakujących informacji i informacji niemających zastosowania”. Codd wprowadził również użycie małych liter greckiego symbolu omega (ω) do reprezentowania Null w teorii baz danych. W SQL, NULL jest słowem zastrzeżonym używanym do identyfikacji tego znacznika. … Tego nie należy mylić z wartością 0. Wartość null oznacza brak wartości — brak wartości nie jest tym samym, co wartość zero w taki sam sposób, że Brak odpowiedzi nie jest tym samym, co odpowiedź „Nie”.,

ponadto …

SQL null jest stanem, a nie wartością. Użycie to jest zupełnie inne niż w większości języków programowania, gdzie wartość null odniesienia oznacza, że nie wskazuje na żaden obiekt.

SQL zapewnia przydatną funkcjonalność do pracy z danymi postaci w zapytaniach SQL, które szczegółowo opiszemy

funkcja SQL Coalesce

funkcje SQL coalesce i IsNull są używane do obsługi wartości NULL. Podczas procesu oceny wyrażenia wartości NULL są zastępowane wartością zdefiniowaną przez użytkownika.,

funkcja SQL coalesce ocenia argumenty w kolejności i zawsze zwraca pierwszą wartość inną niż null z zdefiniowanej listy argumentów.

składnia

COALESCE ( wyrażenie)

właściwości funkcji SQL Coalesce

  1. wyrażenia muszą być tego samego typu danych
  2. może zawierać wiele wyrażeń
  3. funkcja SQL Coalesce jest skrótem składniowym wyrażenia Case
  4. zawsze oblicza liczbę całkowitą, liczba całkowita, po której następuje wyrażenie znakowe, daje liczbę całkowitą jako wyjście.,

przykłady:

SQL łączy się w operacji łączenia łańcuchów

w poniższym przykładzie połączymy niektóre wartości. Ale znowu, to tylko przegląd, aby dać Ci znać, co się dzieje, gdy mamy wartość zerową. Więc, chodźmy naprzód i wykonaj T-SQL. I widzimy, że napotkamy wartość NULL podczas przetwarzania operacji łączenia łańcuchów. SQL server po prostu zwraca NULL za każdym razem, gdy napotka wartość NULL. Wynik nie jest kombinacją firstname, null I last name.,

1
SELECT firstName +' '+MiddleName+' '+ LastName FullName FROM Person.Person

Let us handle the NULL values using a function called SQL COALESCE. It allows handling the behavior of the NULL value., Tak więc w tym przypadku użyj funkcji coalesce SQL, aby zastąpić dowolne wartości NULL o drugiej nazwie wartością ' „(char(13)-space). Polecenie SQL powinno nadal łączyć wszystkie trzy nazwy, ale na wyjściu nie pojawią się żadne wartości NULL. Widzimy teraz, że pełna nazwa zostanie wyświetlona ze spacją w środku, dla wartości NULL. W ten sposób można efektywnie dostosować wartości kolumn.,

1
select firstname +' '+coalesce(middleename,”) +' '+ lastname from person.Person

funkcja Koalesce SQL i obracanie

poniższy przykład zwraca skonkatenowane wartości inne niż null z tabeli 'state'. W niektórych przypadkach może być konieczne przypisanie skonkatenowanych wartości statycznych do zmiennej., W tym przypadku wartości kolumny city są przetwarzane za pomocą funkcji Coalesce SQL i łączone w ramach pojedynczego cudzysłowu w celu przygotowania ciągu wartości. Wyjście jest następnie dalej manipulowane, aby usunąć ostatni znak, aby pobrać prawidłowy ciąg wartości wejściowej.,

Output:

1
SELECT '(’+substring(@col,1,len(@col)-1)+')'

Scalar user-defined function and SQL Coalesce function

A user-defined function is created to return a string specific to the provided input and then the output is grouped using a grouping clause., W poniższym przykładzie funkcja o wartości skalarnej zwraca skonkatenowane wartości łańcuchowe oddzielone znakiem”, „dla określonego wejścia „City”. Poniższy przykład zwraca wyjście, w którym kolumna state jest zgrupowana, a jej wartości cities są konkatenowane i oddzielone ogranicznikiem ', ' (przecinkiem). Możesz również user STRING_AGG, jeśli używasz SQL Server 2017. Więcej informacji można znaleźć w artykule Top SQL string functions in SQL Server 2017

oto jak nazywamy funkcję dbo.tfn_CoalesceConcat w instrukcji select.,

The output is a concatenated stream of values separated by a delimiter ‘,’

1
2
3
4

SELECT state, city = dbo.tfn_CoalesceConcat(state)
FROM dbo.,stan
Grupa według stanu
kolejność według stanu;

walidacja danych za pomocą funkcji SQL Coalesce

w poniższym przykładzie znajdziemy kontakty pracowników w nagłych wypadkach. Zwykle w każdej organizacji numery telefonów pracownika są wymienione w rubrykach praca, dom, telefon komórkowy.

zobaczmy, jak znaleźć pracowników, w których nie ma żadnych kontaktów alarmowych lub, innymi słowy, wyciągnijmy wszystkie dane pracownika z kontaktami alarmowymi.,

w poniższym przykładzie tb_emergencycontact zawiera numery kontaktowe wszystkich pracowników.

funkcja SQL Coalesce służy do wybierania kolumn homephone, workphone i cellphone. W przypadku wartości NULL, wartość ” NA ” (nie dotyczy), zwracany jest literalny łańcuch znaków.

SQL Coalesce i kolumny obliczeniowe

poniższy przykład wykorzystuje SQL COALESCE do porównywania wartości kolumn hourlywage, penssion i commission i zwraca tylko wartość inną niż null znalezioną w kolumnach.,

poniższy T-SQL jest używany do wyświetlenia całkowitej pensji wypłaconej wszystkim pracownikom

teraz zobaczmy przykład, aby utworzyć kolumnę obliczeniową z funkcją SQL Coalesce w SQL Server

ogólnie, może być konieczne użycie wyrażenia w tabelach. W tabelach wymagane jest obliczanie wartości, które są często obliczane przy użyciu kilku istniejących kolumn i kilku wartości skalarnych tabeli. Ponadto kolumny te są zależne od jednej lub więcej innych kolumn., W ten sposób możemy utworzyć kolumnę obliczeniową za pomocą funkcji Coalesce SQL, aby efektywnie obsługiwać wartości NULL.

teraz możesz zobaczyć, że prosta instrukcja SELECT wyświetla wstępnie obliczone wyniki.

SQL COALESCE i wyrażenie CASE

funkcja SQL COALESCE może być składniowo reprezentowana za pomocą wyrażenia CASE. Na przykład, jak wiemy, funkcja Coalesce zwraca pierwsze wartości inne niż NULL.,

SELECT COALESCE (ekspresja1, ekspresja2, ekspresja3) FROM TABLENAME;

powyższe polecenie SQL Coalesce może być przepisane za pomocą polecenia CASE.,id=”6df95ef3dd”>

1
2
3
4
5
6
7
8
9
10
11
12
wybierz
„nazwa” +”+nazwisko imię i nazwisko,
relacje,
obudowa
kiedy telefon domowy nie jest null wtedy telefon domowy
gdy telefon nie jest null wtedy telefon
kiedy workphone nie null wtedy workphone
jeszcze 'na'
Indie
EmergencyContactNumber
od
DBX pliku.,tb_EmergencyContact

zapytanie zwraca ten sam wynik co ten, który używa funkcji COALESCE.

Wrap Up

w tym artykule omówiliśmy kilka porad i sztuczek, aby zademonstrować użycie funkcji SQL Coalesce do skutecznego zapytania za pomocą T-SQL. Omówiliśmy również różne przypadki użycia funkcji SQL Coalesce. Możliwe jest również zoptymalizowanie danych wyjściowych poprzez utworzenie kolumny obliczeniowej.

Mam nadzieję, że spodobał ci się ten artykuł o funkcji Coalesce w SQL serverze., Nie krępuj się zadawać żadnych pytań w komentarzach poniżej.

  • Autor
  • Ostatnie posty
jestem technologiem baz danych z ponad 11-letnim bogatym, praktycznym doświadczeniem w technologiach bazodanowych. Jestem Microsoft Certified Professional i poparty dyplomem magistra aplikacji komputerowej.
moją specjalnością jest projektowanie & implementacja rozwiązań o wysokiej dostępności i wieloplatformowa migracja DB., Obecnie pracujące technologie to SQL Server, PowerShell, Oracle i MongoDB.,
Zobacz wszystkie posty Prashanth Jayaram

najnowsze posty Prashanth Jayaram (Zobacz wszystkie)
  • szybki przegląd audytu bazy danych w SQL – 28 stycznia 2021
  • jak skonfigurować synchronizację danych usługi Azure między bazami danych usługi Azure SQL a lokalnym serwerem SQL Server-20 stycznia 2021
  • jak wykonywać operacje importu/eksportu bazy danych usługi Azure SQL przy użyciu programu PowerShell – 14 stycznia 2021

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *