Datums- und Zeitfunktionen in SQL: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
| (4 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 == | == Grundfunktionen == | ||
| Zeile 99: | Zeile 99: | ||
== Zusatzfunktionen == | == 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>DATE_ADD('2025-06-06', INTERVAL 7 DAY)</code> || Fügt 7 Tage hinzu | | <code>DATE_ADD('2025-06-06', INTERVAL 7 DAY)</code> || Fügt 7 Tage zum Datum hinzu | ||
|- | |- | ||
| <code>DATE_SUB('2025-06-06', INTERVAL 1 MONTH)</code> || | | <code>DATE_SUB('2025-06-06', INTERVAL 1 MONTH)</code> || Zieht 1 Monat vom Datum ab | ||
|- | |- | ||
| <code>DATEDIFF('2025-06-10', '2025-06-06')</code> || Differenz in Tagen | | <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" | ||
| Zeile 122: | Zeile 128: | ||
== Testen == | == Testen == | ||
''' Query: ''' | 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> | </syntaxhighlight> | ||
''' Ergebnis: ''' | |||
'''Ergebnis:''' | |||
{| class="wikitable" | {| class="wikitable" | ||
! NOW() !! CURDATE() !! CURTIME() | ! NOW() !! CURDATE() !! CURTIME() | ||
| Zeile 133: | Zeile 144: | ||
|} | |} | ||
=== Datum und Uhrzeit trennen === | |||
''' Query: ''' | '''Query:''' | ||
<syntaxhighlight lang="sql"> | <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'); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
''' Ergebnis: ''' | |||
'''Ergebnis:''' | |||
{| class="wikitable" | {| class="wikitable" | ||
! DATE('2025-06-06 15:30:00') !! TIME('2025-06-06 15:30:00') | ! DATE('2025-06-06 15:30:00') !! TIME('2025-06-06 15:30:00') | ||
| Zeile 145: | Zeile 157: | ||
|} | |} | ||
=== Einzelne Datumsbestandteile === | |||
''' Query: ''' | '''Query:''' | ||
<syntaxhighlight lang="sql"> | <syntaxhighlight lang="sql"> | ||
SELECT YEAR('2025-06-07'), MONTH('2025-06-07'), DAY('2025-06-07'); | SELECT YEAR('2025-06-07'), MONTH('2025-06-07'), DAY('2025-06-07'); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
''' Ergebnis: ''' | |||
'''Ergebnis:''' | |||
{| class="wikitable" | {| class="wikitable" | ||
! YEAR('2025-06-07') !! MONTH('2025-06-07') !! DAY('2025-06-07') | ! YEAR('2025-06-07') !! MONTH('2025-06-07') !! DAY('2025-06-07') | ||
| Zeile 156: | Zeile 169: | ||
| 2025 || 6 || 7 | | 2025 || 6 || 7 | ||
|} | |} | ||
[[Kategorie:Datenbanken]] | |||
[[Kategorie:Semester1]] | |||
[[Kategorie:Datenbanken]] | [[Kategorie:Datenbanken]] | ||
[[Kategorie:Semester1]] | [[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 |
