SQLShack (Deutsch)

Dieser Artikel untersucht die string-manipulation mit SQL Coalesce-Funktion in SQL Server.

String-Manipulation ist ein Prozess, um eine andere Form von vorhandenen Daten in einer Weise zu erzeugen, die das Unternehmen verwendet oder als Ergebnisse in den Berichten angezeigt. Frühere SQL-String-Funktionsartikel, die ich geschrieben habe, einschließlich SQL-String-Funktionen für Daten-Munging und SQL-Substring-Funktionsübersicht diskutierten Datenvorbereitungs-und Datenverwaltungsaufgaben mit integrierten SQL Server-String-Funktionen.,

SQL Server verfügt auch über einige integrierte Zeichenfunktionen, mit denen wir Daten bearbeiten und transformieren können. Gleichzeitig ist es wichtig, den Datensatz zu untersuchen, Datenwerte zu untersuchen und die Werte bei Bedarf zu codieren oder zu dekodieren, um aussagekräftige Daten zu generieren. Es ist wichtig zu wissen, wie wir durch fehlende Werte in unseren Datensätzen navigieren, die Auswirkungen auf Berechnungen, Abfragen, Berichte und Datensatzvorbereitung verstehen und Techniken entwickeln, um zu vermeiden, dass Nullwerte unsere Resultsets ruinieren.

Was ist ein Nullwert?,

Bevor wir uns damit befassen, wie wir durch das potenzielle Minenfeld von Datensätzen mit fehlenden Werten navigieren und vermeiden, auf eine Null zu treten, werfen wir zunächst einen kurzen Blick darauf, was eine NULL ist.

Wie in Wikipedia definiert

Null (oder NULL) ist ein spezieller Marker, der in der Abfragesprache verwendet wird, um anzuzeigen, dass in der Datenbank kein Datenwert vorhanden ist. Eingeführt durch den Ersteller des relationalen Datenbankmodells E. F., Codd, SQL Null dient dazu, die Anforderung zu erfüllen, dass alle echten relationalen Datenbankverwaltungssysteme (RDBMS) eine Darstellung von „fehlenden Informationen und nicht anwendbaren Informationen“unterstützen. Codd führte auch die Verwendung des griechischen Kleinbuchstabens omega (ω) ein, um Null in der Datenbanktheorie darzustellen. In SQL ist NULL ein reserviertes Wort, das zur Identifizierung dieses Markers verwendet wird. … Dies sollte nicht mit einem Wert von 0 verwechselt werden. Ein Nullwert weist auf ein Fehlen eines Werts hin — ein Fehlen eines Werts ist nicht dasselbe wie ein Wert von Null, genauso wie ein Fehlen einer Antwort nicht dasselbe ist wie eine Antwort mit „Nein“.,

Außerdem …

SQL null ist ein Zustand, kein Wert. Diese Verwendung unterscheidet sich stark von den meisten Programmiersprachen, wobei der Nullwert einer Referenz bedeutet, dass er nicht auf ein Objekt verweist.

SQL bietet einige praktische Funktionen für die Arbeit mit Ihren Zeichendaten in Ihren SQL-Abfragen, die wir ausführlich beschreiben werden

SQL Coalesce function

Die SQL Coalesce-und IsNull-Funktionen werden verwendet, um Nullwerte zu behandeln. Während des Ausdrucksauswertungsprozesses werden die Nullwerte durch den benutzerdefinierten Wert ersetzt.,

Die SQL-Coalesce-Funktion wertet die Argumente in der Reihenfolge aus und gibt immer den ersten Nicht-Null-Wert aus der definierten Argumentliste zurück.

Syntax

COALESCE (expression)

Eigenschaften der SQL – Coalesce-Funktion

  1. Ausdrücke müssen vom gleichen Datentyp sein
  2. Es können mehrere Ausdrücke enthalten
  3. Die SQL-Coalesce-Funktion ist eine syntaktische Abkürzung für den Case-Ausdruck
  4. Wertet immer zuerst für eine Ganzzahl aus, eine Ganzzahl gefolgt von einem Zeichenausdruck ergibt eine Ganzzahl als ausgabe.,

Beispiele:

SQL Koalesziert in einer String-Verkettung

Im folgenden Beispiel werden wir einige Werte verketten. Aber auch hier ist es nur eine Überprüfung, um Sie wissen zu lassen, was passiert, wenn wir einen Nullwert haben. Also, lass uns weitermachen und das T-SQL ausführen. Und wir können sehen, dass wir bei der Verarbeitung von String-Verkettungsoperationen auf einen Nullwert stoßen. SQL Server gibt einfach NULL zurück, wenn er auf einen Nullwert stößt. Das Ergebnis ist keine Kombination aus Vorname, null und Nachname.,

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., Verwenden Sie in diesem Fall die Coalesce-SQL-Funktion, um alle Nullwerte mit mittlerem Namen durch den Wert ‘ ‘ (Char(13)-space) zu ersetzen. Die SQL-Anweisung sollte weiterhin alle drei Namen verketten, in der Ausgabe werden jedoch keine Nullwerte angezeigt. Wir sehen jetzt, dass der vollständige Name mit einem Leerzeichen in der Mitte für Nullwerte angezeigt wird. Auf diese Weise ist es möglich, die Spaltenwerte effizient anzupassen.,

1
SELECT firstName +‘ ‚+COALESCE(MiddleName,“) +‘ ‚+ LastName FROM Person.Person

SQL Coalesce-Funktion und schwenkbarer

im folgenden Beispiel wird Die verkettete nicht-null-Werte aus der Tabelle „Zustand“. In einigen Fällen müssen Sie möglicherweise die verketteten statischen Werte einer Variablen zuweisen., In diesem Fall werden die Werte der Spalte city mithilfe der Coalesce-SQL-Funktion analysiert und in einem einzigen Anführungszeichen verkettet, um eine Zeichenfolge von Werten vorzubereiten. Die Ausgabe wird dann weiter manipuliert, um das letzte Zeichen zu entfernen, um eine gültige Zeichenfolge mit Eingabewert abzurufen.,

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., Im folgenden Beispiel gibt die Skalarwertfunktion die verketteten Zeichenfolgenwerte zurück, die durch‘, ‚ für eine angegebene ‚Stadt‘ – Eingabe getrennt sind. Das folgende Beispiel gibt eine Ausgabe zurück, in der die Statusspalte gruppiert und ihre Statuswerte verkettet und durch ein Trennzeichen ‚,‘ (Komma) getrennt sind. Sie können STRING_AGG auch verwenden, wenn Sie SQL Server 2017 verwenden. Weitere Informationen finden Sie im Artikel Top SQL string functions in SQL Server 2017

So rufen wir den Funktionsnamen dbo auf.tfn_CoalesceConcat in der select-Anweisung.,

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.,Zustand
GROUP BY Status
ORDER BY state;

Daten-Validierung mithilfe von SQL Coalesce-Funktion

Im folgenden Beispiel werden wir die zu finden, die Notfall-Kontakte unserer Mitarbeiter. Normalerweise werden in jeder Organisation die Telefonnummern des Mitarbeiters unter den Spalten Arbeit, Zuhause und Handy aufgeführt.

Lassen Sie uns sehen, wie Sie Mitarbeiter finden, bei denen keine Notfallkontakte aufgeführt sind, oder mit anderen Worten, alle Details des Mitarbeiters mit Notfallkontakten abrufen.,

Im folgenden Beispiel enthält der tb_EmergencyContact die Kontaktnummern aller Mitarbeiter.

Die SQL-Coalesce-Funktion wird verwendet, um die Spalten homephone, workphone und cellphone auszuwählen. Bei Nullwerten, dem Wert ‚NA‘ (nicht zutreffend), wird eine Literalzeichenfolge zurückgegeben.

SQL Coalesce und berechnete Spalten

Das folgende Beispiel verwendet SQL COALESCE, um die Werte der Spalten hourlywage, salary und commission zu vergleichen und nur den in den Spalten gefundenen Wert ungleich Null zurückzugeben.,

Die folgende T-SQL wird verwendet, um das Gesamtgehalt an alle Mitarbeiter bezahlt aufzulisten

Nun, Lassen Sie uns ein Beispiel sehen eine berechnete Spalte mit SQL Coalesce-Funktion in SQL Server

Im Allgemeinen können wir den Ausdruck in den Tabellen verwenden müssen. In Tabellen ist es erforderlich, die Werte zu berechnen, die häufig unter Verwendung mehrerer vorhandener Spalten und mit wenigen Skalarwerten der Tabelle berechnet werden. Außerdem sind diese Spalten von einer oder mehreren anderen Spalten abhängig., Auf diese Weise können wir mithilfe der Coalesce SQL-Funktion eine berechnete Spalte erstellen, damit Nullwerte effizient verarbeitet werden.

Nun können Sie sehen, dass eine einfache SELECT-Anweisung die vorberechneten Ergebnisse anzeigt.

SQL COALESCE und CASE expression

Die SQL COALESCE Funktion kann syntaktisch mit dem CASE expression dargestellt werden. Wie wir wissen, gibt die Coalesce-Funktion beispielsweise die ersten Nicht-NULL-Werte zurück.,

SELECT COALESCE (expression1, expression2, expression3) FROM TABLENAME;

Die obige Coalesce SQL-Anweisung kann mit der CASE-Anweisung neu geschrieben werden.,id=“6df95ef3dd“>

1
2
3
4
5
6
7
8
9
10
11
12
SELECT
Vorname+“+lastname, fullname,
– Beziehung,
FALL
WENN homephone ist NICHT NULL, Dann homephone
WENN die Handy ist NICHT NULL, Dann Handy
WENN tel_geschäftlich ist NICHT NULL, Dann tel_geschäftlich
– ELSE ‚NA‘
INDIA
EmergencyContactNumber
AUS dem
dbx.,tb_EmergencyContact

Die Abfrage gibt das gleiche Ergebnis zurück wie das, das die COALESCE-Funktion verwendet.

Zum Abschluss

In diesem Artikel haben wir einige Tipps und Tricks besprochen, um die Verwendung der SQL-Coalesce-Funktion zum effektiven Abfragen mit T-SQL zu demonstrieren. Wir haben auch verschiedene Anwendungsfälle der SQL-Coalesce-Funktion diskutiert. Es ist auch möglich, die Ausgabe durch Erstellen einer berechneten Spalte zu optimieren.

Ich hoffe, Ihnen hat dieser Artikel über die Coalesce-Funktion in SQL Server gefallen., Fühlen Sie sich frei, Fragen in den Kommentaren unten.

  • Author
  • Recent Posts
auf Datenbanktechnologien. Ich bin Microsoft Certified Professional und habe einen Abschluss in Master of Computer Application.
Meine Spezialität liegt in der Gestaltung & Implementierung von Hochverfügbarkeitslösungen und plattformübergreifende DB-Migration., Die Technologien, an denen derzeit gearbeitet wird, sind SQL Server, PowerShell, Oracle und MongoDB.,
Alle Beiträge von Prashanth Jayaram

Neueste Beiträge von Prashanth Jayaram (siehe alle)
  • Eine schnelle Übersicht über Datenbank – Audit in SQL-28., 2021
  • So führen Sie Azure SQL – Datenbankimport – / – exportvorgänge mit PowerShell durch-Januar 14, 2021

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.