SQL Datumsfunktionen


SQL-Datumsangaben

NoteBeim Umgang mit Datumsangaben ist die schwierigste Aufgabe wahrscheinlich sicherzustellen, dass das Format des eingefügten Datums mit dem Format der Datumsspalte in der Datenbank übereinstimmt.

Solange Ihre Daten nur den Datumsteil enthalten, ist das Ausführen von Abfragen kein Problem. Wenn jedoch der Zeitteil beteiligt ist, ist die Situation etwas komplizierter.

Bevor wir die Komplexität von Datumsabfragen erörtern, werfen wir zunächst einen Blick auf die wichtigsten integrierten Datumsverarbeitungsfunktionen.


MySQL-Datumsfunktionen

Die folgende Tabelle listet die wichtigsten integrierten Datumsfunktionen in MySQL auf:

Funktion Beschreibung
NOW() Gibt das aktuelle Datum und die aktuelle Uhrzeit zurück
CURDATE() Gibt das aktuelle Datum zurück
CURTIME() Gibt die aktuelle Uhrzeit zurück
DATE() Extrahiert den Datumsteil eines Datums- oder Datum/Uhrzeit-Ausdrucks
EXTRACT() Gibt den einzelnen Bestandteil eines Datums-/Uhrzeitwerts zurück
DATE_ADD() Fügt einem Datum ein angegebenes Zeitintervall hinzu
DATE_SUB() Subtrahiert ein angegebenes Zeitintervall von einem Datum
DATEDIFF() Gibt die Anzahl der Tage zwischen zwei Datumsangaben zurück
DATE_FORMAT() Zeigt Datum/Uhrzeit in verschiedenen Formaten an


SQL Server Datumsfunktionen

Die folgende Tabelle listet die wichtigsten integrierten Datumsfunktionen in SQL Server auf:

Funktion Beschreibung
GETDATE() Gibt das aktuelle Datum und die aktuelle Uhrzeit zurück
DATEPART() Gibt den einzelnen Bestandteil eines Datums-/Uhrzeitwerts zurück
DATEADD() Addiert ein angegebenes Zeitintervall zu einem Datum oder subtrahiert es davon
DATEDIFF() Gibt die Zeit zwischen zwei Datumsangaben zurück
CONVERT() Zeigt Datum/Uhrzeit in verschiedenen Formaten an


SQL-Datumsdatentypen

MySQLSpeichern Sie Datums- oder Datum/Uhrzeit-Werte in einer Datenbank mit den folgenden Datentypen:

  • DATE - Format: YYYY-MM-DD
  • DATETIME - Format: YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - Format: YYYY-MM-DD HH:MM:SS
  • YEAR - Format: YYYY oder YY

SQL ServerSpeichern Sie Datums- oder Datum/Uhrzeit-Werte in einer Datenbank mit den folgenden Datentypen:

  • DATE - Format: YYYY-MM-DD
  • DATETIME - Format: YYYY-MM-DD HH:MM:SS
  • SMALLDATETIME - Format: YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - Format: Eindeutige Zahl

Hinweis:Wenn Sie eine neue Tabelle in der Datenbank erstellen, müssen Sie einen Datentyp für die Spalten auswählen!

Für alle verfügbaren Datentypen besuchen Sie unser vollständigesReferenzhandbuch für Datentypen。


SQL-Datumsverarbeitung

NoteWenn der Zeitanteil keine Rolle spielt, können wir zwei Datumsangaben einfach vergleichen!

Angenommen, wir haben die folgende "Orders"-Tabelle:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29

Jetzt möchten wir den Datensatz mit OrderDate "2008-11-11" aus der obigen Tabelle auswählen.

Wir verwenden die folgende SELECT-Anweisung:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

Die Ergebnismenge wird unten angezeigt:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

Nehmen wir nun an, die Tabelle "Orders" sieht so aus (beachten Sie den Zeitanteil in der Spalte "OrderDate"):

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15:45:21
3 Mozzarella di Giovanni 2008-11-11 11:12:01
4 Mascarpone Fabioli 2008-10-29 14:56:59

Wenn wir dieselbe SELECT-Anweisung wie oben verwenden:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

oder 

SELECT * FROM Orders WHERE OrderDate='2008-11-11 00:00:00'

Dann erhalten wir keine Ergebnisse! Denn es gibt kein Datum "2008-11-11 00:00:00" in der Tabelle. Ohne Zeitanteil ist die Standardzeit 00:00:00.

Tipp:Wenn Sie Abfragen einfach und wartbarer halten möchten, verwenden Sie bitte nicht den Zeitanteil in Datumsangaben!


Andere Erweiterungen