1. Einführung
In MySQL‑Datenbanken arbeiten Sie häufig mit Datums‑ und Zeitdaten. In einer Datenbank gespeicherte Daten werden in Standardformaten abgelegt, aber bei der Anzeige für Benutzer möchten Sie sie oft umformatieren, um die Lesbarkeit zu verbessern. Hier kommt die DATE_FORMAT‑Funktion ins Spiel. In diesem Artikel stellen wir die Verwendung der DATE_FORMAT‑Funktion und verschiedener Formatierungsoptionen vor und erklären praktische Anwendungsmöglichkeiten anhand realer Beispiele.
2. Überblick über die DATE_FORMAT‑Funktion
2.1 Was ist die DATE_FORMAT‑Funktion?
Die DATE_FORMAT‑Funktion ist eine MySQL‑Funktion, die Datumswerte in ein angegebenes Format konvertiert. Sie wird verwendet, wenn Sie Datumsangaben in einem beliebigen Format ausgeben möchten, anstatt des Standard‑YYYY‑MM‑DD‑Formats oder des üblichen Datetime‑Formats. Wenn Sie beispielsweise ein Datum für Benutzer im Format „Sep 16, 2024“ anzeigen wollen, ist diese Funktion sehr hilfreich.
2.2 Grundsyntax
Die Grundsyntax der DATE_FORMAT‑Funktion lautet wie folgt.
DATE_FORMAT(date, format)
date: Die Datumsdaten, die Sie formatieren möchten.format: Eine Zeichenkette, die das Ausgabeformat des Datums angibt.
Betrachten wir ein konkretes Beispiel:
SELECT DATE_FORMAT('2024-09-16', '%Y-%m-%d') AS formatted_date;
Diese Abfrage konvertiert das Datum ’2024-09-16′ in das Format „2024-09-16“ und gibt es aus.

3. Datumsformat‑Parameter
3.1 Liste der Formatbezeichner
Die DATE_FORMAT‑Funktion unterstützt viele Formatbezeichner. Nachfolgend eine Liste der häufig genutzten:
%Y: 4‑stelliges Jahr (z. B. 2024)%y: 2‑stelliges Jahr (z. B. 24)%m: 2‑stelliger Monat (01 bis 12)%c: Monat (1 bis 12)%d: 2‑stelliger Tag (01 bis 31)%e: Tag (1 bis 31)%H: Stunde im 24‑Stunden‑Format (00 bis 23)%hoder%I: Stunde im 12‑Stunden‑Format (01 bis 12)%i: Minuten (00 bis 59)%s: Sekunden (00 bis 59)%p: AM oder PM
3.2 Praktische Beispiele
Sehen wir uns konkrete Beispiele an, wie diese Bezeichner die Ausgabe beeinflussen.
SELECT
DATE_FORMAT('2024-09-16 14:35:59', '%Y-%m-%d %H:%i:%s') AS full_format,
DATE_FORMAT('2024-09-16 14:35:59', '%b %d, %Y') AS us_format,
DATE_FORMAT('2024-09-16 14:35:59', '%d/%m/%Y') AS european_format,
DATE_FORMAT('2024-09-16 14:35:59', '%h:%i %p') AS twelve_hour_format;
Die Ausgabe dieser Abfrage sieht folgendermaßen aus:
full_format: 2024-09-16 14:35:59us_format: Sep 16, 2024european_format: 16/09/2024twelve_hour_format: 02:35 PM
4. Praktische Anwendungsfälle
4.1 Szenario 1: Berichtserstellung
Wenn beispielsweise monatliche Berichte in einem Unternehmen erstellt werden, möchte man Datumsangaben im Stil „YYYY‑MM“ darstellen. Die folgende Abfrage formatiert Berichtsdaten zu diesem Zweck.
SELECT
DATE_FORMAT(sale_date, '%Y-%m') AS report_month,
SUM(sales) AS total_sales
FROM sales_data
GROUP BY report_month;
Diese Abfrage gibt den gesamten Monatsumsatz aus den Verkaufsdaten im Format „2024-09“ aus.
4.2 Szenario 2: Benutzeroberfläche
DATE_FORMAT ist auch nützlich, wenn Sie Datumsangaben in einer Web‑Anwendung klar für Benutzer darstellen wollen. Zum Beispiel können Sie es so verwenden, um das letzte Anmeldedatum auf einer Benutzerprofilseite anzuzeigen.
SELECT
user_name,
DATE_FORMAT(last_login, '%Y-%m-%d %H:%i') AS last_login_formatted
FROM users;
Damit wird das letzte Anmeldedatum und die Uhrzeit des Benutzers im Format „2024-09-16 14:35“ angezeigt.
4.3 Szenario 3: Abfrageoptimierung
In manchen Fällen kann DATE_FORMAT auch zur Optimierung von Datenbankabfragen beitragen. Beispielsweise lässt sich das Formatieren nutzen, wenn Daten innerhalb eines bestimmten Datumsbereichs extrahiert werden sollen.
SELECT
*
FROM transactions
WHERE DATE_FORMAT(transaction_date, '%Y-%m') = '2024-09';
Diese Abfrage extrahiert alle Transaktionen, die im September 2024 stattgefunden haben.
5. Hinweise und bewährte Methoden für DATE_FORMAT
5.1 Leistungsüberlegungen
If you use DATE_FORMAT frequently, it may affect performance. In particular, repeatedly applying it to large datasets can increase processing time. If needed, consider storing pre-formatted dates in advance or formatting them at the application level.
5.2 Lokalisierung
When building a multilingual system using DATE_FORMAT, you must pay attention to localization. Since date display formats vary by country and region, you may need to dynamically change formats based on the user’s locale.
5.3 Konsistente Formatierung
Using consistent date formats across an entire system is essential for improving the user experience. For example, by using the same format in input forms, display sections, and reports, you can avoid confusing users.
6. Zusammenfassung
The DATE_FORMAT function is a powerful tool for formatting date data flexibly in MySQL. In this article, we covered basic usage, practical examples, and important notes and best practices. By using this function effectively, you can display dates in a way that is clearer and more user-friendly. As a next step, we recommend learning more advanced date and time operations.
7. Referenzressourcen
- MySQL Official Documentation: DATE_FORMAT
- Since related articles and tutorials are updated regularly, make sure to check official documentation and technical blogs on a regular basis.
We hope this article helps you understand and effectively use the DATE_FORMAT function.

