Der Befehl MySQL DATE erlaubt es Ihnen, einen Da­tums­wert aus einer Zeit­an­ga­be zu ex­tra­hie­ren. Diese Funktion ist besonders für Listen mit Be­stel­lun­gen, Anrufen oder anderen Aktionen nützlich.

Was ist MySQL DATE?

Es gibt zahl­rei­che Parameter, die für eine bessere Übersicht und Ordnung in MySQL hilfreich sind. Sie erlauben es Ihnen, die un­ter­schied­li­chen Tabellen besser zu sortieren, und gewähren bei Bedarf einen noch schnel­le­ren Zugriff. MySQL DATE ist ein besonders prak­ti­scher und gleich­zei­tig 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 Zeit­an­ga­ben enthalten. Die Funktion zieht dann das Datum aus einer Aussage und bildet dieses ab. Ge­spei­chert 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 grund­sätz­lich so aus:

DATE (Ausdruck)
bash

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

Beispiele für die Ver­wen­dung von MySQL DATE

Zum besseren Ver­ständ­nis der Mög­lich­kei­ten, die MySQL DATE bietet, sind die passenden prak­ti­schen Beispiele hilfreich. Dabei beginnen wir zunächst mit der ein­fachs­ten Form, bei der lediglich die Da­tums­an­ga­be angezeigt wird. Der passende Befehl sieht wie folgt aus:

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

Wenn Sie diesen Befehl ausführen, lautet die da­zu­ge­hö­ri­ge Ausgabe:

2022-01-10
bash

Datum aus einer Zeit­an­ga­be ex­tra­hie­ren

Sie haben al­ler­dings auch die Mög­lich­keit, das Datum mit MySQL DATE aus einer längeren Zeit­an­ga­be zu ex­tra­hie­ren. Das folgende Beispiel ver­an­schau­licht 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 al­ler­dings kein gültiger Da­tums­wert ein­ge­ge­ben, wird keine Ausgabe zu­rück­ge­spielt. Ein Beispiel für diesen Fall sieht so aus:

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

MySQL DATE für Be­stell­vor­gän­ge und Buch­hal­tung

Um den prak­ti­schen Nutzen von MySQL DATE zu verstehen, eignet sich das folgende Beispiel besonders gut. Hierbei gehen wir davon aus, dass ein Un­ter­neh­men Tabellen für bestellte und ver­sen­de­te Produkte angelegt hat. Um nun nach­zu­voll­zie­hen, wann ein Produkt genau geordert wurde, müsste man theo­re­tisch sämtliche Listen manuell durch­ge­hen und somit viel Zeit in­ves­tie­ren. MySQL DATE bietet hingegen einen deutlich schnel­le­ren Weg und ex­tra­hiert die Daten aus der vor­lie­gen­den Auf­lis­tung. Durch den Befehl wird die ent­spre­chen­de Tabelle au­to­ma­tisch durch­sucht; die Ausgabe zeigt danach alle Be­stell­da­ten in chro­no­lo­gi­scher Rei­hen­fol­ge an. Für unser Beispiel nehmen wir an, dass die Auf­lis­tung „Be­stel­lun­gen“ heißt.

SELECT DATE (Bestelldatum) FROM Bestellungen;
bash

Die ent­spre­chen­de 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

Zu­sätz­lich zum Befehl MySQL DATE gibt es einige weitere verwandte Funk­tio­nen, die Ihnen bei der Pflege und Be­ar­bei­tung einer Tabelle helfen. Besonders her­vor­zu­he­ben ist dabei MySQL DATEDIFF, der die Tage zwischen zwei Daten oder Zeit­an­ga­ben ausgibt. Weitere wichtige Befehle sind MySQL DATE_ADD, der Zeitwerte in In­ter­vall­form zu einem Da­tums­wert hinzufügt; MySQL DATE_FORMAT, mit dem Sie ein Datum for­ma­tie­ren können; und MySQL DATE_SUB, mit dem Sie einen Zeitwert von einem Da­tums­wert abziehen können.

Al­ter­na­ti­ve Da­tums­for­ma­te

Neben MySQL DATE kennt das System noch drei weitere Da­tums­for­ma­te:

  • MySQL DATETIME: Diese Option speichert Datum und Uhrzeit im Format YYYY-MM-DD HH:MI:SS. Der mögliche Zeit­rah­men reicht von 1000-01-01 00:00:00 bis 9999-12-31 23:59:59.
  • MySQL TIMESTAMP: Dieses Format ähnelt MySQL DATETIME, be­rück­sich­tigt dabei aber die Zeitzonen und rechnet die Werte jeweils in die ko­or­di­nier­te Weltzeit (UTC) um. Die Ausgabe erfolgt daher ebenfalls nach dem Schema YYYY-MM-DD HH:MI:SS, die zu­läs­si­gen Werte liegen al­ler­dings zwischen 1970-01-01 00:00:01 UTC und 2038-01-09 03:14:17 UTC. Für An­wen­dun­gen, die un­ter­schied­li­che Zeitzonen be­rück­sich­ti­gen 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 ver­wen­de­te Format lautet HH:MI:SS und der erlaubte Zeit­rah­men reicht von -838:59:59 bis 838:59:59. Neben Zeit­punk­ten können mit MySQL TIME auch Zeit­rah­men ab­ge­bil­det werden. Ein Tag bei­spiels­wei­se wäre 24:00:00.

Sollte also MySQL DATE nicht die richtige Wahl sein, können Sie auf eine der anderen Optionen zu­rück­grei­fen.

Zum Hauptmenü