Datums- und Zeitfunktionen in SQL
Diese Funktionen werden verwendet, um Datums- und Zeitwerte zu extrahieren, zu formatieren oder zu manipulieren.
Grundfunktionen
SQL stellt spezielle Funktionen zur Verarbeitung von Datums- und Zeitwerten bereit. Mit diesen Funktionen lassen sich Datum und Uhrzeit aus Zeitstempeln extrahieren oder das aktuelle Systemdatum bzw. die aktuelle Uhrzeit ermitteln. Sie werden häufig für Filter, Berechnungen und Auswertungen verwendet (z. B. bei Logdaten oder Bestellungen).
| Funktion | Beschreibung |
|---|---|
DATE('2025-06-06 15:30:00') |
Gibt nur das Datum zurück |
TIME('2025-06-06 15:30:00') |
Gibt nur die Uhrzeit zurück |
DATETIME() |
Gibt aktuelles Datum und Uhrzeit zurück |
Beispiele
Die folgenden Beispiele zeigen die Rückgabewerte der Funktionen:
| Beispiel | Ergebnis |
|---|---|
DATE('2025-06-06 15:30:00') |
2025-06-06 |
TIME('2025-06-06 15:30:00') |
15:30:00 |
DATETIME() |
2025-06-06 15:30:00 |
Extraktion einzelner Komponenten
SQL bietet Funktionen, mit denen einzelne Bestandteile von Datums- und Zeitwerten gezielt ausgelesen werden können. Diese Funktionen sind besonders nützlich für Filterbedingungen, Gruppierungen und Auswertungen, z. B. nach Jahr, Monat oder Uhrzeit.
| Funktion | Beschreibung |
|---|---|
YEAR('2025-06-06') |
Extrahiert das Jahr |
MONTH('2025-06-07') |
Extrahiert den Monat |
DAY('2025-06-07') |
Extrahiert den Tag |
HOUR('2025-06-06 15:30:00') |
Extrahiert die Stunde |
MINUTE('2025-06-06 15:30:00') |
Extrahiert die Minute |
SECOND('2025-06-06 15:30:45') |
Extrahiert die Sekunde |
Beispiele
Die folgenden Beispiele zeigen typische Rückgabewerte der Funktionen:
| Beispiel | Ergebnis |
|---|---|
YEAR('2025-06-06') |
2025 |
MONTH('2025-06-07') |
6 |
DAY('2025-06-07') |
7 |
HOUR('2025-06-06 15:30:00') |
15 |
MINUTE('2025-06-06 15:30:00') |
30 |
SECOND('2025-06-06 15:30:45') |
45 |
Aktuelles Datum / Zeit
SQL stellt spezielle Funktionen bereit, um das aktuelle Datum und die aktuelle Uhrzeit des Datenbankservers abzufragen. Diese Funktionen werden häufig für Zeitstempel, Protokolle, Vergleiche oder zeitabhängige Abfragen verwendet.
| Funktion | Beschreibung |
|---|---|
NOW() |
Gibt das aktuelle Datum und die aktuelle Zeit zurück |
CURDATE() |
Gibt das aktuelle Datum zurück |
CURTIME() |
Gibt die aktuelle Uhrzeit zurück |
Beispiele
Die folgenden Beispiele zeigen typische Rückgabewerte der Funktionen:
| Beispiel | Ergebnis |
|---|---|
NOW() |
2025-06-06 15:30:00 |
CURDATE() |
2025-06-06 |
CURTIME() |
15:30:00 |
Zusatzfunktionen
Neben den Grundfunktionen stellt SQL weitere Funktionen zur Verfügung, um Datumswerte zu verändern oder Zeitabstände zu berechnen. Diese Funktionen werden häufig für Fristen, Laufzeiten, Altersberechnungen oder zeitliche Auswertungen verwendet.
| Funktion | Beschreibung |
|---|---|
DATE_ADD('2025-06-06', INTERVAL 7 DAY) |
Fügt 7 Tage zum Datum hinzu |
DATE_SUB('2025-06-06', INTERVAL 1 MONTH) |
Zieht 1 Monat vom Datum ab |
DATEDIFF('2025-06-10', '2025-06-06') |
Berechnet die Differenz in Tagen |
Beispiele
Die folgenden Beispiele zeigen typische Rückgabewerte der Zusatzfunktionen:
| Beispiel | Ergebnis |
|---|---|
DATE_ADD('2025-06-06', INTERVAL 7 DAY) |
2025-06-13 |
DATE_SUB('2025-06-06', INTERVAL 1 MONTH) |
2025-05-06 |
DATEDIFF('2025-06-10', '2025-06-06') |
4 |
Testen
Query:
SELECT NOW(), CURDATE(), CURTIME();
Ergebnis:
| NOW() | CURDATE() | CURTIME() |
|---|---|---|
| 2025-06-06 15:30:00 | 2025-06-06 | 15:30:00 |
Query:
SELECT DATE('2025-06-06 15:30:00'), TIME('2025-06-06 15:30:00');
Ergebnis:
| DATE('2025-06-06 15:30:00') | TIME('2025-06-06 15:30:00') |
|---|---|
| 2025-06-06 | 15:30:00 |
Query:
SELECT YEAR('2025-06-07'), MONTH('2025-06-07'), DAY('2025-06-07');
Ergebnis:
| YEAR('2025-06-07') | MONTH('2025-06-07') | DAY('2025-06-07') |
|---|---|---|
| 2025 | 6 | 7 |
