Datums- und Zeitfunktionen in SQL: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
| Zeile 1: | Zeile 1: | ||
Datums- und Zeitfunktionen in [[SQL]] werden verwendet, um Datums- und Zeitwerte zu erzeugen, zu verändern, zu vergleichen oder einzelne Bestandteile wie Jahr, Monat oder Uhrzeit zu extrahieren. | |||
== Grundfunktionen == | == Grundfunktionen == | ||
Aktuelle Version vom 11. Januar 2026, 11:45 Uhr
Datums- und Zeitfunktionen in SQL werden verwendet, um Datums- und Zeitwerte zu erzeugen, zu verändern, zu vergleichen oder einzelne Bestandteile wie Jahr, Monat oder Uhrzeit zu extrahieren.
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
In diesem Abschnitt werden typische SQL-Abfragen zu Datums- und Zeitfunktionen ausgeführt und deren Rückgabewerte überprüft. So lässt sich nachvollziehen, welche Werte die einzelnen Funktionen liefern.
Aktuelles Datum und Uhrzeit
Query:
SELECT NOW(), CURDATE(), CURTIME();
Ergebnis:
| NOW() | CURDATE() | CURTIME() |
|---|---|---|
| 2025-06-06 15:30:00 | 2025-06-06 | 15:30:00 |
Datum und Uhrzeit trennen
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 |
Einzelne Datumsbestandteile
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 |
