Datums- und Zeitfunktionen in SQL: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(33 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Datums- und Zeitfunktionen in SQL ==
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.


Diese Funktionen werden verwendet, um Datums- und Zeitwerte zu extrahieren, zu formatieren oder zu manipulieren.
== Grundfunktionen ==


=== 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 !! Beispiel !! Ergebnis
! 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> || <code>2025-06-06</code>
| <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> || <code>15:30:00</code>
| <code>TIME('2025-06-06 15:30:00')</code> || Gibt nur die Uhrzeit zurück
|-
|-
| <code>DATETIME()</code> || Gibt Datum und Uhrzeit zurück (z. B. aktuelle) || <code>SELECT DATETIME()</code> || <code>2025-06-06 15:30:00</code>
| <code>DATETIME()</code> || Gibt aktuelles Datum und Uhrzeit zurück
|}
|}


=== Extraktion einzelner Komponenten ===
=== Beispiele ===
Die folgenden Beispiele zeigen die Rückgabewerte der Funktionen:


{| class="wikitable"
{| class="wikitable"
! Funktion !! Beschreibung !! Beispiel !! Ergebnis
! Beispiel !! Ergebnis
|-
|-
| <code>YEAR('2025-06-06')</code> || Extrahiert das Jahr || <code>YEAR('2025-06-06')</code> || <code>2025</code>
| <code>DATE('2025-06-06 15:30:00')</code> || 2025-06-06
|-
|-
| <code>MONTH('2025-06-06')</code> || Extrahiert den Monat || <code>MONTH('2025-06-06')</code> || <code>6</code>
| <code>TIME('2025-06-06 15:30:00')</code> || 15:30:00
|-
|-
| <code>DAY('2025-06-06')</code> || Extrahiert den Tag || <code>DAY('2025-06-06')</code> || <code>6</code>
| <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>HOUR('2025-06-06 15:30:00')</code> || <code>15</code>
| <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>MINUTE('2025-06-06 15:30:00')</code> || <code>30</code>
| <code>MINUTE('2025-06-06 15:30:00')</code> || Extrahiert die Minute
|-
|-
| <code>SECOND('2025-06-06 15:30:45')</code> || Extrahiert die Sekunde || <code>SECOND('2025-06-06 15:30:45')</code> || <code>45</code>
| <code>SECOND('2025-06-06 15:30:45')</code> || Extrahiert die Sekunde
|}
|}


=== Aktuelles Datum/Zeit ===
=== Beispiele ===
Die folgenden Beispiele zeigen typische Rückgabewerte der Funktionen:


{| class="wikitable"
{| class="wikitable"
! Funktion !! Beschreibung !! Beispiel !! Ergebnis
! Beispiel !! Ergebnis
|-
| <code>YEAR('2025-06-06')</code> || 2025
|-
| <code>MONTH('2025-06-07')</code> || 6
|-
|-
| <code>NOW()</code> || Gibt das aktuelle Datum und die aktuelle Zeit zurück || <code>NOW()</code> || <code>2025-06-06 15:30:00</code>
| <code>DAY('2025-06-07')</code> || 7
|-
|-
| <code>CURDATE()</code> || Gibt das aktuelle Datum zurück || <code>CURDATE()</code> || <code>2025-06-06</code>
| <code>HOUR('2025-06-06 15:30:00')</code> || 15
|-
|-
| <code>CURTIME()</code> || Gibt die aktuelle Uhrzeit zurück || <code>CURTIME()</code> || <code>15:30:00</code>
| <code>MINUTE('2025-06-06 15:30:00')</code> || 30
|-
| <code>SECOND('2025-06-06 15:30:45')</code> || 45
|}
|}


=== Zusatzfunktionen ===
== 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"
{| class="wikitable"
! Funktion !! Beschreibung !! Beispiel !! Ergebnis
! 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> || <code>2025-06-13</code>
| <code>NOW()</code> || Gibt das aktuelle Datum und die aktuelle Zeit zurück
|-
|-
| <code>DATE_SUB('2025-06-06', INTERVAL 1 MONTH)</code> || Subtrahiert 1 Monat || <code>DATE_SUB('2025-06-06', INTERVAL 1 MONTH)</code> || <code>2025-05-06</code>
| <code>CURDATE()</code> || Gibt das aktuelle Datum zurück
|-
|-
| <code>DATEDIFF('2025-06-10', '2025-06-06')</code> || Differenz in Tagen || <code>DATEDIFF('2025-06-10', '2025-06-06')</code> || <code>4</code>
| <code>CURTIME()</code> || Gibt die aktuelle Uhrzeit zurück
|}
|}


=== Testen ===
=== Beispiele ===
Die folgenden Beispiele zeigen typische Rückgabewerte der Funktionen:


{| class="wikitable"
! Beispiel !! Ergebnis
|-
| <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"
! Funktion !! Beschreibung
|-
| <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> || Zieht 1 Monat vom Datum ab
|-
| <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"
! Beispiel !! Ergebnis
|-
| <code>DATE_ADD('2025-06-06', INTERVAL 7 DAY)</code> || 2025-06-13
|-
| <code>DATE_SUB('2025-06-06', INTERVAL 1 MONTH)</code> || 2025-05-06
|-
| <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-06'), MONTH('2025-06-06'), DAY('2025-06-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