Zurück zur Artikelliste Artikel
9 Leseminuten

18 nützliche und wichtige SQL-Funktionen, die Sie so schnell wie möglich lernen sollten

Anfangen mit SQL: Nützliche Funktionen zum Beherrschen

Das Erlernen einer neuen Programmiersprache kann einschüchternd wirken. Wie jede andere Sprache hat auch eine Programmiersprache einen großen Wortschatz, den Sie beherrschen müssen. In diesem Artikel werden wir uns einige der nützlichsten SQL-Funktionen ansehen, die Sie kennen müssen.

Es gibt viele nützliche SQL-Funktionen für die Arbeit mit verschiedenen Datentypen. Wenn Sie erst einmal mit den gängigsten Funktionen geübt haben, werden Sie genug Selbstvertrauen gewinnen, um sich mit fortgeschrittenen Funktionen zu beschäftigen. Lassen Sie uns also einige der gängigsten SQL-Funktionen genauer untersuchen.

1. STRING-FUNKTIONEN

Eine Zeichenkette ist einfach eine Folge von einem oder mehreren Zeichen, die aneinandergereiht wurden. Die String-Funktionen befassen sich ganz einfach mit Zeichenketten!

Länge

Die einfachste SQL-Stringfunktion ist length. Wie der Name schon sagt, gibt length die Anzahl der Zeichen zurück, die eine gegebene Zeichenkette enthält (einschließlich Leerzeichen und Interpunktion). Schauen wir uns eine einfache PostgreSQL select-Anweisung an und füttern sie mit der Zeichenkette 'Hello, my name is':

select length('Hello, my name is');

Das Ergebnis der Abfrage ist 17. Wenn Sie die Anzahl der Zeichen einschließlich der Leerzeichen in der obigen Zeichenkette manuell zählen, werden Sie feststellen, dass 17 eine genaue Übereinstimmung ist! Auch wenn length auf den ersten Blick wie eine triviale Funktion erscheint, werden Sie sie tatsächlich sehr häufig verwenden.

Trimmen

Schneiden wir etwas Fett ab! Ein weiteres Beispiel aus der Kategorie der nützlichsten SQL-Funktionen ist trim. Sie entfernt überflüssige Leerzeichen und Tabulatoren am Anfang und Ende einer Zeichenfolge, die wir als Argument übergeben. Wenn wir z. B. die Zeichenkette " Hallo, mein Name ist " übergeben, erhalten wir dieselbe Zeichenkette, aber ohne all die führenden und nachfolgenden Leerzeichen. Hier ist eine einfache Abfrage mit dieser Zeichenfolge:

select length('  Hello, my name is  ');

Wie erwartet, gibt die obige Abfrage 'Hello, my name is' zurück.

Verketten

Die Funktion concat kombiniert(konkatiniert) zwei oder mehr Zeichenketten, die wir als Argumente übergeben. Hier ist ein Beispiel für die Verkettung von Zeichenketten in Aktion:

select concat(' Hello, ', 'my name is ', 'Paul');

Diese Abfrage gibt die Zeichenfolge 'Hello, my name is Paul' zurück.

Obere

Bei einer Zeichenkette gibt upper die gleiche Zeichenkette zurück, wobei jedoch alle Zeichen in Großbuchstaben umgewandelt werden. Wenn Sie also möchten, dass jeder Sie laut und deutlich hören kann, können Sie die folgende Abfrage schreiben:

select upper('Hello, my name is Paul');

Dies gibt die Zeichenfolge 'HELLO, MY NAME IS PAUL' zurück.

Kleinere

Die Funktion lower ist das direkte Gegenteil von upper - sie nimmt eine Zeichenkette und gibt die gleiche Zeichenkette zurück, wobei alle Zeichen in Kleinbuchstaben umgewandelt werden. Hier ist eine Abfrage, die Lower verwendet:

select lower('Hello, my name is Paul');

Es wird die Zeichenkette 'hello, my name is paul' zurückgegeben.

Initcap

Diese Funktion macht den ersten (Anfangs-)Buchstaben jedes Wortes in einer gegebenen Zeichenkette groß. Sie können zum Beispiel initcap verwenden, um sicherzustellen, dass der Name, den jemand angegeben hat, den Regeln der Großschreibung entspricht. Hier ist ein Beispiel für die Verwendung der Funktion:

select initcap('paul anderson');

Das Ergebnis der obigen Abfrage ist 'Paul Anderson'.

Natürlich gibt es noch viele weitere nützliche SQL-Funktionen, die für Strings verwendet werden, wie replace, substr, und andere. Um mehr über diese Funktionen zu erfahren, besuchen Sie den LearnSQL.deStandard-SQL-Funktionen interaktiven Kurs! Dank dieses Kurses werden Sie weitere gängige SQL-Funktionen kennenlernen, die ich in diesem Artikel nicht erwähnt habe.

2. NUMERISCHE FUNKTIONEN

Numerische Funktionen arbeiten einfach mit Zahlen, und es gibt eine ganze Reihe von nützlichen SQL-Funktionen in dieser Kategorie. Lassen Sie uns ein paar davon besprechen.

Abs

Trimmen? Abs? Ja, ich weiß, was Sie denken, aber das hier ist kein Trainingsprogramm. Abs ist die Abkürzung für absolut; es handelt sich um eine der gebräuchlichsten SQL-Funktionen, die den absoluten Wert eines numerischen Wertes berechnet, den wir als Argument übergeben. Mit anderen Worten: abs gibt die positive Version einer gegebenen Zahl zurück. Hier ist ein Beispiel:

select abs(-22),abs(22);

Wenn Sie im Mathematikunterricht aufgepasst haben, wissen Sie, dass diese beiden Aufrufe von abs die Zahl 22 zurückgeben.

Runden

Die Funktion round nimmt eine Gleitkommazahl (Dezimalzahl) und rundet sie, wie Sie es normalerweise auf dem Papier tun würden. Schauen Sie sich dieses einfache Beispiel an:

select round(5.4),round(5.5),round(5.6);

Für die drei obigen Aufrufe zum Runden würden wir 5 (die nächstkleinere ganze Zahl), 6 (die nächstgrößere ganze Zahl) bzw. 6 (die nächstgrößere ganze Zahl) erhalten.

Ceil

Die Funktion ceil gibt die Obergrenze einer Zahl zurück - die erste ganze Zahl, die größer oder gleich dieser Zahl ist. Zur Veranschaulichung dieses Vorgangs legen Sie die betreffende Zahl (z. B. -0,5) auf eine Standard-Zahlenreihe und bewegen sich von links nach rechts, um die nächstgrößere ganze Zahl (in diesem Fall 0) zu finden. Hier ist ein weiteres Beispiel:

select ceil(5.4),ceil(5.5),ceil(6);

Für diese drei Aufrufe erhalten wir die Zahlen 6, 6 und 6.

Floor

Floor ist die Umkehrung der Funktion ceil; sie gibt die Basis der Dezimalzahl zurück, die wir als Argument übergeben - die erste ganze Zahl, die kleiner oder gleich dieser Zahl ist. Zum Beispiel ist die Untergrenze von -0,5 -1, da dies die erste ganze Zahl ist, die kleiner als -0,5 ist. Bei der Visualisierung der Zahlenreihe beginnt man bei der angegebenen Zahl und bewegt sich auf der Suche nach einer ganzen Zahl von rechts nach links. Wenn wir die obigen Aufrufe stattdessen mit der Funktion floor wiederholen:

select floor(5.4),floor(5.5),floor(6);

Wir erhalten diese drei Zahlen, nachdem wir die obige Abfrage ausgeführt haben: 5, 5 und 6.

Vorzeichen

Als eine der einfacheren Funktionen auf dieser Liste nimmt sign eine Zahl als Argument und gibt -1 zurück, wenn die Zahl negativ ist, 0, wenn die Zahl 0 ist, und 1, wenn die Zahl positiv ist. So einfach ist das! Hier ist ein Beispiel:

select sign(-5),sign(0),sign(5);

Diese Abfrage gibt die folgenden Zahlen zurück: -1, 0 und 1.

Mod

Mod steht für modulo. Es handelt sich dabei um eine sehr leistungsfähige und dennoch eine der gängigsten SQL-Funktionen, die den Rest des ersten Arguments geteilt durch das zweite Argument zurückgibt. Dividiert man zum Beispiel 5 durch 2, so ergibt sich der Rest 1. Der Funktionsaufruf mod(5, 2) liefert also die Zahl 1!

Der Modulo-Operator hat viele nützliche Anwendungen, und eine seiner häufigsten Anwendungen ist die Feststellung, ob eine bestimmte Zahl gerade oder ungerade ist. Erinnern Sie sich daran, dass bei einer geraden Zahl der Rest der Division durch 2 gleich 0 ist. Andernfalls ist der Rest 1. Mit der Funktion mod(n, 2) können Sie also bei einer Zahl n feststellen, ob n gerade oder ungerade ist!

Es gibt noch viele weitere nützliche SQL-Funktionen in der numerischen Kategorie, die Sie kennen sollten, z. B. trunc, trigonometric, logarithmic, power, root, und andere. Der beste Ort, um diese Funktionen zu beherrschen, ist der LearnSQL.de's Standard-SQL-Funktionen Kurs. Falls Sie es noch nicht getan haben, sollten Sie es sich unbedingt ansehen!

3. DATUMSFUNKTIONEN

Wie der Name dieser Kategorie schon sagt, arbeiten die Datumsfunktionen mit Datumsangaben! In diesem Abschnitt sehen wir uns einige der nützlichsten SQL-Funktionen dieses Typs an.

Aktuelles_Datum

Der erste Punkt auf unserer Liste ist current_date, eine äußerst nützliche SQL-Funktion, die ... das aktuelle Datum zurückgibt! Hier ist eine Beispielabfrage:

select current_date;

Für uns wird 2018-01-04 zurückgegeben.

Extrahieren

Mit dieser allgemeinen SQL-Funktion können Sie bestimmte Teile eines Datums (z. B. den Tag, den Monat oder das Jahr) extrahieren, die Sie als Argument übergeben. Hier ist ein Beispiel für alle drei Verwendungen:

select extract(day from date'2017-1-1'),extract(month from date'2017-1-1'),extract(year from date'2017-1-1');

Die obige Abfrage gibt die folgenden drei Zahlen zurück: 1, 1, und 2017.

Datum_abschneiden

Die Funktion date_trunc schneidet die Werte eines bestimmten Datums auf eine bestimmte Granularität ab. Angenommen, Sie haben ein Datum, möchten aber nur den ersten Tag des Monats dieses Datums haben, dann würden Sie den Datumswert auf einen "Monat"-Parameter abschneiden. Sehen wir uns ein Beispiel an:

select date_trunc('month',date'2017-4-2') 

Dies würde das Datum 04-01-2017 zurückgeben. Wenn wir den Jahreswert als Granularität eingeben würden:

select date_trunc('year',date'2017-4-2')

Wir würden den ersten Tag des eingegebenen Jahres erhalten, den 01-01-2017.

4. VERSCHIEDENE FUNKTIONEN

Zusätzlich zu den Funktionen, die wir bisher behandelt haben, gibt es noch einige andere Funktionen, die in der SQL-Programmierung häufig verwendet werden.

Koaleszieren

Bei der Arbeit mit Tabellendaten stößt man manchmal auf Nullwerte. Diese stehen für fehlende oder nicht vorhandene Informationen. Leider gibt jede Berechnung mit einem Nullwert Null zurück, und das ist nicht immer ideal.

Die Funktion COALESCE nimmt eine Liste von Argumenten entgegen und gibt das erste dieser Argumente zurück, das nicht den Wert null enthält. Mit anderen Worten: Wenn SQL feststellt, dass das erste Argument, das Sie angegeben haben, null ist, wird es mit der Auswertung des zweiten Arguments fortfahren und den Vorgang so lange wiederholen, bis es entweder ein Argument findet, das nicht null ist, oder einfach keine Argumente mehr hat.

Nehmen wir zum Beispiel an, wir arbeiten mit einer Tabelle, die eine numerische Spalte mit dem Namen potentially_null_column hat. Nehmen wir an, diese Spalte hat mehrere Werte, von denen einige null sind und andere nicht. Nehmen wir an, wir führen den folgenden Code aus:

select COALESCE(potentially_null_column, 0);

In diesem Fall verwendet die Abfrage den Wert 0, wenn eine Zelle in der Spalte potentially_null_column den Wert null enthält. Für Zellen in dieser Spalte, die nicht null sind, verwendet die Abfrage einfach deren Werte. Diese SQL-Funktion ist besonders nützlich bei Berechnungen mit Spalten, die Nullwerte enthalten können, da sie unerwartetes Verhalten verhindert. Wenn Sie mehr über COALESCE und seine Verwendung erfahren möchten, lesen Sie diesen nützlichen Artikel.

Größte

Eine weitere der nützlichsten SQL-Funktionen, greatest, nimmt eine Liste von Ausdrücken und gibt den größten von ihnen zurück. Hier ein Beispiel für die Verwendung dieser Funktion:

select greatest(1,2,3,5,6);

Diese Abfrage gibt natürlich 6 zurück, da dies der größte Wert in der angegebenen Liste ist.

Least

Least ist die direkte Umkehrung von greatest. Wenn wir die folgende Abfrage schreiben:

select least(1,2,3,5,6);

Diese Abfrage gibt 1 zurück, da dies der kleinste Wert in der angegebenen Liste ist.

Und wenn Sie diese nützlichen SQL-Funktionen kennen...

Es gibt eine Vielzahl nützlicher SQL-Funktionen für die Bearbeitung von Zeichenketten, Zahlen, Daten und anderen Datentypen. Nachdem Sie nun ein wenig über die Grundlagen gelernt haben, sollten Sie in Erwägung ziehen, tiefer in diese Themen einzutauchen, um Ihre Kenntnisse zu erweitern. Dafür gibt es einfach keinen besseren Ort als LearnSQL.de! Unser Fortgeschrittenes SQL Verfolgen Sie Kurspaket enthält die folgenden SQL-Kurse:

  1. Standard-SQL-Funktionen - In diesem Kurs lernen Sie, wie Sie numerische, Text- und andere Datentypen mit den nützlichsten SQL-Funktionen verarbeiten können.
  2. Fensterfunktionen - Hier lernen Sie Windowing-Funktionen, auch bekannt als analytische SQL-Funktionen.
  3. Rekursive Abfragen - In diesem Kurs lernen Sie, wie Sie Bäume und Graphen in SQL verarbeiten und wie Sie lange SQL-Abfragen und Unterabfragen effektiv organisieren können.

Sie haben bereits die gängigsten SQL-Funktionen kennen gelernt. Bringen Sie jetzt Ihre Selbstentwicklung auf die nächste Stufe und meistern Sie die anspruchsvollsten SQL-Abfragen!