MySQL DATE: So extrahieren Sie das Datum in MySQL

Der Befehl MySQL DATE erlaubt es Ihnen, einen Datumswert aus einer Zeitangabe zu extrahieren. Diese Funktion ist besonders für Listen mit Bestellungen, Anrufen oder anderen Aktionen nützlich.

Was ist MySQL DATE?

Es gibt zahlreiche Parameter, die für eine bessere Übersicht und Ordnung in MySQL hilfreich sind. Sie erlauben es Ihnen, die unterschiedlichen Tabellen besser zu sortieren, und gewähren bei Bedarf einen noch schnelleren Zugriff. MySQL DATE ist ein besonders praktischer und gleichzeitig sehr einfacher Befehl, der Ihnen bei der täglichen Arbeit mit dem System wertvolle Dienste leistet.

MySQL DATE wird für Werte verwendet, die ein Datum, aber keine Zeitangaben enthalten. Die Funktion zieht dann das Datum aus einer Aussage und bildet dieses ab. Gespeichert werden die Einträge immer im Format „YYYY-MM-DD“, die Spanne der möglichen Werte reicht von „1000-01-01“ bis „9999-12-31“.

Die Syntax von MySQL DATE

Die Syntax von MySQL DATE ist, wie bei den meisten MySQL-Befehlen, recht einfach. Der Aufbau sieht grundsätzlich so aus:

DATE (Ausdruck)
bash

Wichtig ist dabei, dass der Ausdruck einen erlaubten Datumswert hat. Ist dies nicht der Fall, wird die Ausgabe lediglich ein Nullwert sein.

Beispiele für die Verwendung von MySQL DATE

Zum besseren Verständnis der Möglichkeiten, die MySQL DATE bietet, sind die passenden praktischen Beispiele hilfreich. Dabei beginnen wir zunächst mit der einfachsten Form, bei der lediglich die Datumsangabe angezeigt wird. Der passende Befehl sieht wie folgt aus:

SELECT DATE ("2022-01-10");
bash

Wenn Sie diesen Befehl ausführen, lautet die dazugehörige Ausgabe:

2022-01-10
bash

Datum aus einer Zeitangabe extrahieren

Sie haben allerdings auch die Möglichkeit, das Datum mit MySQL DATE aus einer längeren Zeitangabe zu extrahieren. Das folgende Beispiel veranschaulicht diese Option:

SELECT DATE ("2022-01-10 10:17:36");
bash

Auch hier lautet die Ausgabe:

2022-01-10
bash

Nullwert bei MySQL DATE

Wird allerdings kein gültiger Datumswert eingegeben, wird keine Ausgabe zurückgespielt. Ein Beispiel für diesen Fall sieht so aus:

SELECT DATE ("Das Datum ist der 10.01.2022");
bash

MySQL DATE für Bestellvorgänge und Buchhaltung

Um den praktischen Nutzen von MySQL DATE zu verstehen, eignet sich das folgende Beispiel besonders gut. Hierbei gehen wir davon aus, dass ein Unternehmen Tabellen für bestellte und versendete Produkte angelegt hat. Um nun nachzuvollziehen, wann ein Produkt genau geordert wurde, müsste man theoretisch sämtliche Listen manuell durchgehen und somit viel Zeit investieren. MySQL DATE bietet hingegen einen deutlich schnelleren Weg und extrahiert die Daten aus der vorliegenden Auflistung. Durch den Befehl wird die entsprechende Tabelle automatisch durchsucht; die Ausgabe zeigt danach alle Bestelldaten in chronologischer Reihenfolge an. Für unser Beispiel nehmen wir an, dass die Auflistung „Bestellungen“ heißt.

SELECT DATE (Bestelldatum) FROM Bestellungen;
bash

Die entsprechende Ausgabe sieht in diesem Fall so aus:

DATE (Bestelldatum)
2021-11-27
2021-11-29
2022-01-10
2022-02-04
2022-02-17
bash

Verwandte Befehle

Zusätzlich zum Befehl MySQL DATE gibt es einige weitere verwandte Funktionen, die Ihnen bei der Pflege und Bearbeitung einer Tabelle helfen. Besonders hervorzuheben ist dabei MySQL DATEDIFF, der die Tage zwischen zwei Daten oder Zeitangaben ausgibt. Weitere wichtige Befehle sind MySQL DATE_ADD, der Zeitwerte in Intervallform zu einem Datumswert hinzufügt; MySQL DATE_FORMAT, mit dem Sie ein Datum formatieren können; und MySQL DATE_SUB, mit dem Sie einen Zeitwert von einem Datumswert abziehen können.

Alternative Datumsformate

Neben MySQL DATE kennt das System noch drei weitere Datumsformate:

  • MySQL DATETIME: Diese Option speichert Datum und Uhrzeit im Format YYYY-MM-DD HH:MI:SS. Der mögliche Zeitrahmen reicht von 1000-01-01 00:00:00 bis 9999-12-31 23:59:59.
  • MySQL TIMESTAMP: Dieses Format ähnelt MySQL DATETIME, berücksichtigt dabei aber die Zeitzonen und rechnet die Werte jeweils in die koordinierte Weltzeit (UTC) um. Die Ausgabe erfolgt daher ebenfalls nach dem Schema YYYY-MM-DD HH:MI:SS, die zulässigen Werte liegen allerdings zwischen 1970-01-01 00:00:01 UTC und 2038-01-09 03:14:17 UTC. Für Anwendungen, die unterschiedliche Zeitzonen berücksichtigen müssen, ist deshalb MySQL TIMESTAMP die richtige Wahl. Für Daten vor 1970 oder nach 2038 empfiehlt sich MySQL DATETIME.
  • MySQL TIME: MySQL TIME speichert die Uhrzeit, nicht aber das Datum. Das verwendete Format lautet HH:MI:SS und der erlaubte Zeitrahmen reicht von -838:59:59 bis 838:59:59. Neben Zeitpunkten können mit MySQL TIME auch Zeitrahmen abgebildet werden. Ein Tag beispielsweise wäre 24:00:00.

Sollte also MySQL DATE nicht die richtige Wahl sein, können Sie auf eine der anderen Optionen zurückgreifen.