SQL - Datentyp-Funktionen: Ein Anfängerleitfaden

Hallo da draußen, zukünftige SQL-Zauberer! Ich freue mich sehr, Ihr Guide auf dieser aufregenden Reise in die Welt der SQL-Datentyp-Funktionen zu sein. Als jemand, der seit über einem Jahrzehnt Informatik unterrichtet, kann ich Ihnen sagen, dass das Beherrschen dieser Funktionen in der Datenbankwelt einem Superkraftverleihen gleichkommt. Also, rollen wir die Ärmel hoch und tauchen ein!

SQL - Datatype Functions

Was sind SQL-Datentyp-Funktionen?

Bevor wir uns den Details widmen, lassen Sie uns verstehen, womit wir es zu tun haben. SQL-Datentyp-Funktionen sind spezielle Werkzeuge, die uns helfen, Daten von einem Typ in einen anderen zu konvertieren oder Informationen über den Datentyp eines Wertes zu extrahieren. Denken Sie daran als magische Sprüche, die Ihre Daten in genau das umwandeln, was Sie benötigen!

Warum sind sie wichtig?

Stellen Sie sich vor, Sie backen einen Kuchen (haben Sie Geduld, ich verspreche, das hat etwas mit SQL zu tun!). Sie haben Zutaten in verschiedenen Formen - Flüssigkeiten in Tassen, Feststoffe in Gramm. Um das Rezept korrekt zu befolgen, müssen Sie oft zwischen diesen Maßeinheiten umrechnen. Genau das machen Datentyp-Funktionen in SQL - sie helfen uns, Daten zu konvertieren und zu manipulieren, damit sie die richtige "Form" für unsere Datenbankoperationen haben.

Häufig verwendete SQL-Datentyp-Funktionen

Lassen Sie uns einige der am häufigsten verwendeten Datentyp-Funktionen erkunden. Ich werde für jede Funktion Beispiele geben, und wir werden sie gemeinsam analysieren.

1. CAST()

Die CAST()-Funktion ist wie ein Gestaltwandler in der SQL-Welt. Sie ermöglicht es Ihnen, einen Wert von einem Datentyp in einen anderen zu konvertieren.

SELECT CAST(25.65 AS INT) AS IntValue;

Diese Abfrage wird folgendes zurückgeben:

IntValue
25

Was ist hier passiert? Wir haben die Dezimalzahl 25.65 in einen Integer umgewandelt. SQL hat höflicherweise den Dezimalteil abgeschnitten und uns mit 25 gelassen.

2. CONVERT()

CONVERT() ist ähnlich wie CAST(), aber spezifisch für Microsoft SQL Server und bietet einige zusätzliche Funktionen.

SELECT CONVERT(VARCHAR(10), GETDATE(), 101) AS USDateFormat;

Dies könnte folgendes zurückgeben:

USDateFormat
05/15/2023

In diesem Beispiel konvertieren wir das aktuelle Datum (GETDATE()) in einen VARCHAR (String) mit einem spezifischen US-Datenformat (101-Code für mm/dd/jjjj).

3. COALESCE()

COALESCE() ist wie ein treuer Freund, der immer für dich da ist. Es gibt den ersten nicht-NULL-Wert in einer Liste zurück.

SELECT COALESCE(NULL, NULL, 'Hello', NULL, 'World') AS FirstNonNull;

Ergebnis:

FirstNonNull
Hello

COALESCE() hat jeden Wert von links nach rechts überprüft und 'Hello' zurückgegeben, da es der erste nicht-NULL-Wert war, den es angetroffen hat.

4. NULLIF()

NULLIF() ist der Schlichter in SQL. Es vergleicht zwei Ausdrücke und gibt NULL zurück, wenn sie gleich sind, sonst gibt es den ersten Ausdruck zurück.

SELECT NULLIF(10, 10) AS Result1, NULLIF(5, 10) AS Result2;

Dies gibt uns:

Result1 Result2
NULL 5

Im ersten Fall waren beide Werte 10, also gab NULLIF() NULL zurück. Im zweiten Fall waren die Werte unterschiedlich, also gab es den ersten Wert, 5, zurück.

Praktische Anwendungen

Nun sehen wir, wie diese Funktionen in realen Szenarien nützlich sein können.

Umgang mit NULL-Werten

Stellen Sie sich vor, Sie arbeiten mit einer Datenbank von Schülerleistungen, aber einige Noten fehlen (NULL). Sie möchten den Durchschnitt berechnen, aber NULL-Werte können Ihre Berechnungen durcheinander bringen. Hier kommt COALESCE() zur Rettung:

SELECT AVG(COALESCE(Grade, 0)) AS AverageGrade
FROM StudentGrades;

Diese Abfrage ersetzt alle NULL-Noten mit 0, bevor der Durchschnitt berechnet wird. Es ist, als würde man sagen: "Wenn eine Note fehlt, nehmen wir an, dass es eine 0 ist."

Datenbereinigung

Angenommen, Sie haben eine Spalte mit gemischten Datentypen und möchten nur die numerischen Werte extrahieren:

SELECT
OriginalValue,
CASE
WHEN ISNUMERIC(OriginalValue) = 1
THEN CAST(OriginalValue AS FLOAT)
ELSE NULL
END AS CleanedNumericValue
FROM MixedDataTable;

Diese Abfrage überprüft, ob jeder Wert numerisch ist. Wenn ja, wird er in einen FLOAT umgewandelt. Wenn nicht, wird NULL zurückgegeben. Es ist, als hätte man eine Sortiermaschine, die nur die Zahlen aus einer gemischten Tasche von Gegenständen herauspicken kann.

Fazit

Und da haben Sie es, Leute! Wir haben die Welt der SQL-Datentyp-Funktionen bereist, von der Gestaltwandler-Funktion CAST() bis zum treuen COALESCE(). Denken Sie daran, dass diese Funktionen Ihre Werkzeuge sind, um Daten zu formen und zu gestalten, wie Sie es benötigen. Wie jeder gute Handwerker wird auch Sie durch das Üben dieser Werkzeuge immer geschickter.

Als wir uns verabschieden, hier ist ein kleiner SQL-Witz für Sie: Warum hat der Datenbankadministrator seine Frau verlassen? Weil sie viele-zu-eins-Beziehungen hatte! (Ich sehe mich selbst jetzt raus.)

Üben Sie weiter, bleiben Sie neugierig, und bevor Sie es wissen, werden Sie Daten wie ein Profi casten und konvertieren. Bis zum nächsten Mal, fröhliches SQL-ing!

Credits: Image by storyset