Datums- und Zeitfunktionen in SQL: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
 
(24 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"
Zeile 12: Zeile 14:
| <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"
Zeile 22: Zeile 27:
| <code>TIME('2025-06-06 15:30:00')</code> || 15:30:00
| <code>TIME('2025-06-06 15:30:00')</code> || 15:30:00
|-
|-
| <code>SELECT DATETIME()</code> || 2025-06-06 15:30:00
| <code>DATETIME()</code> || 2025-06-06 15:30:00
|}
|}


=== Extraktion einzelner Komponenten ===
== 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"
{| class="wikitable"
Zeile 32: Zeile 40:
| <code>YEAR('2025-06-06')</code> || Extrahiert das Jahr
| <code>YEAR('2025-06-06')</code> || Extrahiert das Jahr
|-
|-
| <code>MONTH('2025-06-06')</code> || Extrahiert den Monat
| <code>MONTH('2025-06-07')</code> || Extrahiert den Monat
|-
|-
| <code>DAY('2025-06-06')</code> || Extrahiert den Tag
| <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> || Extrahiert die Stunde
Zeile 42: Zeile 50:
| <code>SECOND('2025-06-06 15:30:45')</code> || Extrahiert die Sekunde
| <code>SECOND('2025-06-06 15:30:45')</code> || Extrahiert die Sekunde
|}
|}
=== Beispiele ===
Die folgenden Beispiele zeigen typische Rückgabewerte der Funktionen:


{| class="wikitable"
{| class="wikitable"
! Beispiel !! Ergebnis
! Beispiel !! Ergebnis
|-
|-
| <code>YEAR('2025-06-06')</code> || <code>2025</code>
| <code>YEAR('2025-06-06')</code> || 2025
|-
|-
| <code>MONTH('2025-06-06')</code> || <code>6</code>
| <code>MONTH('2025-06-07')</code> || 6
|-
|-
| <code>DAY('2025-06-06')</code> || <code>6</code>
| <code>DAY('2025-06-07')</code> || 7
|-
|-
| <code>HOUR('2025-06-06 15:30:00')</code> || <code>15</code>
| <code>HOUR('2025-06-06 15:30:00')</code> || 15
|-
|-
| <code>MINUTE('2025-06-06 15:30:00')</code> || <code>30</code>
| <code>MINUTE('2025-06-06 15:30:00')</code> || 30
|-
|-
| <code>SECOND('2025-06-06 15:30:45')</code> || <code>45</code>
| <code>SECOND('2025-06-06 15:30:45')</code> || 45
|}
|}


=== Aktuelles Datum/Zeit ===
== 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"
Zeile 70: Zeile 84:
| <code>CURTIME()</code> || Gibt die aktuelle Uhrzeit zurück
| <code>CURTIME()</code> || Gibt die aktuelle Uhrzeit zurück
|}
|}
=== Beispiele ===
Die folgenden Beispiele zeigen typische Rückgabewerte der Funktionen:


{| class="wikitable"
{| class="wikitable"
! Beispiel !! Ergebnis
! Beispiel !! Ergebnis
|-
|-
| <code>NOW()</code> || <code>2025-06-06 15:30:00</code>
| <code>NOW()</code> || 2025-06-06 15:30:00
|-
|-
| <code>CURDATE()</code> || <code>2025-06-06</code>
| <code>CURDATE()</code> || 2025-06-06
|-
|-
| <code>CURTIME()</code> || <code>15:30:00</code>
| <code>CURTIME()</code> || 15:30:00
|}
|}


=== 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> || Subtrahiert 1 Monat
| <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"
! Beispiel !! Ergebnis
! Beispiel !! Ergebnis
|-
|-
| <code>DATE_ADD('2025-06-06', INTERVAL 7 DAY)</code> || <code>2025-06-13</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>2025-05-06</code>
| <code>DATE_SUB('2025-06-06', INTERVAL 1 MONTH)</code> || 2025-05-06
|-
|-
| <code>DATEDIFF('2025-06-10', '2025-06-06')</code> || <code>4</code>
| <code>DATEDIFF('2025-06-10', '2025-06-06')</code> || 4
|}
|}


=== Testen ===
== 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>
</syntaxhighlight>


'''Ergebnis:'''
{| class="wikitable"
{| class="wikitable"
! NOW() !! CURDATE() !! CURTIME()
! NOW() !! CURDATE() !! CURTIME()
Zeile 115: Zeile 144:
|}
|}


=== Datum und Uhrzeit trennen ===
'''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:'''
{| 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 125: Zeile 157:
|}
|}


=== Einzelne Datumsbestandteile ===
'''Query:'''
<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
SELECT YEAR('2025-06-06'), MONTH('2025-06-06'), DAY('2025-06-06');
SELECT YEAR('2025-06-07'), MONTH('2025-06-07'), DAY('2025-06-07');
</syntaxhighlight>
</syntaxhighlight>


'''Ergebnis:'''
{| class="wikitable"
{| class="wikitable"
! YEAR('2025-06-06') !! MONTH('2025-06-06') !! DAY('2025-06-06')
! YEAR('2025-06-07') !! MONTH('2025-06-07') !! DAY('2025-06-07')
|-
|-
| 2025 || 6 || 6
| 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