Datums- und Zeitfunktionen in SQL: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| (34 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| 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 == | |||
[[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). | |||
{| class="wikitable" | {| class="wikitable" | ||
! Funktion !! Beschreibung | ! Funktion !! Beschreibung | ||
|- | |- | ||
| <code>DATE('2025-06-06 15:30:00')</code> || Gibt nur das Datum zurück | | <code>DATE('2025-06-06 15:30:00')</code> || Gibt nur das Datum zurück | ||
|- | |- | ||
| <code>TIME('2025-06-06 15:30:00')</code> || Gibt nur die Uhrzeit zurück | | <code>TIME('2025-06-06 15:30:00')</code> || Gibt nur die Uhrzeit zurück | ||
|- | |- | ||
| <code>DATETIME()</code> || Gibt Datum und Uhrzeit zurück | | <code>DATETIME()</code> || Gibt aktuelles Datum und Uhrzeit zurück | ||
|} | |} | ||
=== | === Beispiele === | ||
Die folgenden Beispiele zeigen die Rückgabewerte der Funktionen: | |||
{| class="wikitable" | {| class="wikitable" | ||
! Beispiel !! Ergebnis | |||
|- | |- | ||
| <code> | | <code>DATE('2025-06-06 15:30:00')</code> || 2025-06-06 | ||
|- | |- | ||
| <code> | | <code>TIME('2025-06-06 15:30:00')</code> || 15:30:00 | ||
|- | |- | ||
| <code>DAY('2025-06- | | <code>DATETIME()</code> || 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. | |||
{| class="wikitable" | |||
! Funktion !! Beschreibung | |||
|- | |||
| <code>YEAR('2025-06-06')</code> || Extrahiert das Jahr | |||
|- | |||
| <code>MONTH('2025-06-07')</code> || Extrahiert den Monat | |||
|- | |||
| <code>DAY('2025-06-07')</code> || Extrahiert den Tag | |||
|- | |||
| <code>HOUR('2025-06-06 15:30:00')</code> || Extrahiert die Stunde | |||
|- | |||
| <code>MINUTE('2025-06-06 15:30:00')</code> || Extrahiert die Minute | |||
|- | |||
| <code>SECOND('2025-06-06 15:30:45')</code> || Extrahiert die Sekunde | |||
|} | |||
=== Beispiele === | |||
Die folgenden Beispiele zeigen typische Rückgabewerte der Funktionen: | |||
{| class="wikitable" | |||
! Beispiel !! Ergebnis | |||
|- | |||
| <code>YEAR('2025-06-06')</code> || 2025 | |||
|- | |||
| <code>MONTH('2025-06-07')</code> || 6 | |||
|- | |||
| <code>DAY('2025-06-07')</code> || 7 | |||
|- | |||
| <code>HOUR('2025-06-06 15:30:00')</code> || 15 | |||
|- | |||
| <code>MINUTE('2025-06-06 15:30:00')</code> || 30 | |||
|- | |||
| <code>SECOND('2025-06-06 15:30:45')</code> || 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. | |||
{| class="wikitable" | |||
! Funktion !! Beschreibung | |||
|- | |||
| <code>NOW()</code> || Gibt das aktuelle Datum und die aktuelle Zeit zurück | |||
|- | |- | ||
| <code> | | <code>CURDATE()</code> || Gibt das aktuelle Datum zurück | ||
|- | |- | ||
| <code> | | <code>CURTIME()</code> || Gibt die aktuelle Uhrzeit zurück | ||
|} | |||
=== Beispiele === | |||
Die folgenden Beispiele zeigen typische Rückgabewerte der Funktionen: | |||
{| class="wikitable" | |||
! Beispiel !! Ergebnis | |||
|- | |- | ||
| <code> | | <code>NOW()</code> || 2025-06-06 15:30:00 | ||
|- | |||
| <code>CURDATE()</code> || 2025-06-06 | |||
|- | |||
| <code>CURTIME()</code> || 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. | |||
{| class="wikitable" | {| class="wikitable" | ||
! Funktion !! Beschreibung | ! Funktion !! Beschreibung | ||
|- | |- | ||
| <code> | | <code>DATE_ADD('2025-06-06', INTERVAL 7 DAY)</code> || Fügt 7 Tage zum Datum hinzu | ||
|- | |- | ||
| <code> | | <code>DATE_SUB('2025-06-06', INTERVAL 1 MONTH)</code> || Zieht 1 Monat vom Datum ab | ||
|- | |- | ||
| <code> | | <code>DATEDIFF('2025-06-10', '2025-06-06')</code> || Berechnet die Differenz in Tagen | ||
|} | |} | ||
=== | === Beispiele === | ||
Die folgenden Beispiele zeigen typische Rückgabewerte der Zusatzfunktionen: | |||
{| class="wikitable" | {| class="wikitable" | ||
! Beispiel !! Ergebnis | |||
|- | |- | ||
| <code>DATE_ADD('2025-06-06', INTERVAL 7 DAY)</code> || | | <code>DATE_ADD('2025-06-06', INTERVAL 7 DAY)</code> || 2025-06-13 | ||
|- | |- | ||
| <code>DATE_SUB('2025-06-06', INTERVAL 1 MONTH)</code> || | | <code>DATE_SUB('2025-06-06', INTERVAL 1 MONTH)</code> || 2025-05-06 | ||
|- | |- | ||
| <code>DATEDIFF('2025-06-10', '2025-06-06')</code> || | | <code>DATEDIFF('2025-06-10', '2025-06-06')</code> || 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:''' | |||
<syntaxhighlight lang="sql"> | <syntaxhighlight lang="sql"> | ||
SELECT NOW(), CURDATE(), CURTIME(); | SELECT NOW(), CURDATE(), CURTIME(); | ||
</syntaxhighlight> | |||
'''Ergebnis:''' | |||
{| class="wikitable" | |||
! NOW() !! CURDATE() !! CURTIME() | |||
|- | |||
| 2025-06-06 15:30:00 || 2025-06-06 || 15:30:00 | |||
|} | |||
=== Datum und Uhrzeit trennen === | |||
'''Query:''' | |||
<syntaxhighlight lang="sql"> | |||
SELECT DATE('2025-06-06 15:30:00'), TIME('2025-06-06 15:30:00'); | SELECT DATE('2025-06-06 15:30:00'), TIME('2025-06-06 15:30:00'); | ||
SELECT YEAR('2025-06- | </syntaxhighlight> | ||
<syntaxhighlight> | |||
'''Ergebnis:''' | |||
{| class="wikitable" | |||
! DATE('2025-06-06 15:30:00') !! TIME('2025-06-06 15:30:00') | |||
|- | |||
| 2025-06-06 || 15:30:00 | |||
|} | |||
=== Einzelne Datumsbestandteile === | |||
'''Query:''' | |||
<syntaxhighlight lang="sql"> | |||
SELECT YEAR('2025-06-07'), MONTH('2025-06-07'), DAY('2025-06-07'); | |||
</syntaxhighlight> | |||
'''Ergebnis:''' | |||
{| class="wikitable" | |||
! YEAR('2025-06-07') !! MONTH('2025-06-07') !! DAY('2025-06-07') | |||
|- | |||
| 2025 || 6 || 7 | |||
|} | |||
[[Kategorie:Datenbanken]] | |||
[[Kategorie:Semester1]] | |||
[[Kategorie:Datenbanken]] | |||
[[Kategorie:Semester1]] | |||
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 |
