logo

SQL-Datums- und Uhrzeitfunktionen

In SQL , Datumsangaben sind für Neulinge kompliziert, da beim Arbeiten mit einer Datenbank das Format der Daten in der Tabelle mit den einzufügenden Eingabedaten abgeglichen werden muss. In verschiedenen Szenarien wird anstelle des Datums datetime (mit Datum hängt auch die Zeit zusammen) verwendet.

Zum Speichern eines Datums oder eines Datums- und Uhrzeitwerts in einer Datenbank, MySQL bietet folgende Datentypen an:

DATUM Format JJJJ-MM-TT
TERMINZEIT Format: JJJJ-MM-TT HH:MI: SS
ZEITSTEMPEL Format: JJJJ-MM-TT HH:MI: SS
JAHR Format JJJJ oder JJ

Kommen wir nun zu einigen beliebten Funktionen in SQL-Datumsfunktionen.



JETZT()

Gibt das aktuelle Datum und die aktuelle Uhrzeit zurück.

Abfrage:

SELECT NOW();>

Ausgabe:

Jetzt gibt die Methode ein Bild aus

CURDATE()

Gibt das aktuelle Datum zurück.

Abfrage:

SELECT CURDATE();>

Ausgabe:

AUSGANG2

CURTIME()

Gibt die aktuelle Uhrzeit zurück.

Abfrage:

SELECT CURTIME();>

Ausgabe:

AUSGANG3

DATUM()

Extrahiert den Datumsteil eines Datums- oder Datums-/Uhrzeitausdrucks. Beispiel: Für die folgende Tabelle mit dem Namen „Test“

Ausweis Name Geburtszeit
4120 Üben 26.09.1996 16:44:15.581

Abfrage:

SELECT Name, DATE(BirthTime)  AS BirthDate FROM Test;>

Ausgabe:

Name Geburtsdatum
Üben 26.09.1996

EXTRAKT()

Gibt einen einzelnen Teil eines Datums/einer Uhrzeit zurück.

Syntax

EXTRACT(Einheit FROM Datum);

Es können mehrere Einheiten in Betracht gezogen werden, es werden jedoch nur einige verwendet, z MIKROSEKUNDE, SEKUNDE, MINUTE, STUNDE, TAG, WOCHE, MONAT, QUARTAL, JAHR usw. Und „Datum“ ist ein gültiger Datumsausdruck. Beispiel: Für die folgende Tabelle mit dem Namen „Test“

Ausweis Name Geburtszeit
4120 Üben 26.09.1996 16:44:15.581

Abfrage:

SELECT Name, Extract(DAY FROM  BirthTime) AS BirthDay FROM Test;>

Ausgabe:

Zeichenfolge vergleichen mit
Name Geburtstag
Üben 26

Abfrage:

SELECT Name, Extract(YEAR FROM BirthTime) AS BirthYear FROM Test;>

Ausgabe:

Name Geburtsjahr
Üben neunzehn sechsundneunzig

Abfrage:

SELECT Name, Extract(SECOND FROM  BirthTime) AS BirthSecond FROM Test;>

Ausgabe:

Name GeburtZweite
Üben 581

DATE_ADD()

Fügt einem Datum ein angegebenes Zeitintervall hinzu.

Syntax:

DATE_ADD(date, INTERVAL expr type);

Dabei ist Datum ein gültiger Datumsausdruck und Ausdruck ist die Anzahl der Intervalle, die wir hinzufügen möchten. und Typ kann einer der folgenden sein: MIKROSEKUNDE, SEKUNDE, MINUTE, STUNDE, TAG, WOCHE, MONAT, QUARTAL, JAHR usw. Beispiel: Für die folgende Tabelle mit dem Namen „Test“

Ausweis Name Geburtszeit
4120 Üben 26.09.1996 16:44:15.581

Abfrage:

SELECT Name, DATE_ADD(BirthTime, INTERVAL  1 YEAR) AS BirthTimeModified FROM Test;>

Ausgabe:

Name BirthTimeModified
Üben 26.09.1997 16:44:15.581

Abfrage:

SELECT Name, DATE_ADD(BirthTime,  INTERVAL 30 DAY) AS BirthDayModified FROM Test;>

Ausgabe:

Name GeburtstagGeändert
Üben 26.10.1996 16:44:15.581

Abfrage:

SELECT Name, DATE_ADD(BirthTime, INTERVAL  4 HOUR) AS BirthHourModified FROM Test;>

Ausgabe:

Name GeburtZweite
Üben 26.10.1996 20:44:15.581

DATE_SUB()

Subtrahiert ein angegebenes Zeitintervall von einem Datum. Die Syntax für DATE_SUB ist dieselbe wie für DATE_ADD, mit dem Unterschied, dass DATE_SUB zum Subtrahieren eines bestimmten Datumsintervalls verwendet wird.

DATEDIFF()

Gibt die Anzahl der Tage zwischen zwei Daten zurück.

Syntax:

DATEDIFF(Datum1, Datum2);

date1 & date2 – Datums-/Uhrzeitausdruck

Abfrage:

SELECT DATEDIFF('2017-01-13','2017-01-03') AS DateDiff;>

Ausgabe:

DateDiff
10

DATUMSFORMAT()

Zeigt Datums-/Uhrzeitdaten in verschiedenen Formaten an.

Syntax:

DATE_FORMAT(Datum,Format);

Das Datum ist ein gültiges Datum und das Format gibt das Ausgabeformat für Datum/Uhrzeit an. Folgende Formate können verwendet werden:

  • %a-Abgekürzter Wochentagsname (Sonntag bis Samstag)
  • %b-Abgekürzter Monatsname (Jan.-Dez.)
  • %c-Monat, numerisch (0-12)
  • %D-Tag des Monats mit englischem Suffix (0., 1., 2., 3.)
  • %d-Tag des Monats, numerisch (00-31)
  • %e-Tag des Monats, numerisch (0-31)
  • %f-Mikrosekunden (000000-999999)
  • %H-Stunde (00-23)
  • %h-Stunde (01-12)
  • %I-Stunde (01-12)
  • %i-Minuten, numerisch (00-59)
  • %j-Tag des Jahres (001-366)
  • %k-Stunde (0-23)
  • %l-Stunde (1-12)
  • %M-Monatsname (Januar-Dezember)
  • %m-Monat, numerisch (00-12)
  • %p-AM oder PM
  • %r-Zeit, 12 Stunden (hh:mm: ss gefolgt von AM oder PM)
  • %S-Sekunden (00-59)
  • %s-Sekunden (00-59)
  • %T-Zeit, 24 Stunden (hh:mm: ss)
  • %U-Woche (00-53), wobei Sonntag der erste Tag der Woche ist
  • %u-Woche (00-53), wobei Montag der erste Tag der Woche ist
  • %V-Woche (01-53), wobei Sonntag der erste Tag der Woche ist, verwendet mit %X
  • %v-Woche (01-53), wobei Montag der erste Tag der Woche ist, verwendet mit %x
  • %W-Wochentagsname (Sonntag-Samstag)
  • %w-Tag der Woche (0=Sonntag, 6=Samstag)
  • %X-Jahr für die Woche, wobei Sonntag der erste Tag der Woche ist, vierstellig, verwendet mit %V
  • %x-Jahr für die Woche, wobei Montag der erste Tag der Woche ist, vierstellig, verwendet mit %v
  • %Y-Jahr, numerisch, vierstellig
  • %y-Jahr, numerisch, zweistellig