SQL Date-Funktion

SQL-Datum

Die schwierigste Aufgabe, wenn wir mit Daten umgehen, ist wahrscheinlich sicherzustellen, dass das Format des eingefügten Datums mit dem Format der Datumsspalte in der Datenbank übereinstimmt.

Wenn die Daten nur das Datum enthalten, gibt es keine Probleme bei der Abfrage. Aber wenn es um die Zeit geht, wird die Situation etwas komplizierter.

Bevor wir die Komplexität der Datumabfragen diskutieren, schauen wir uns die wichtigsten internen Datumshandlungsfunktionen an.

MySQL Date-Funktionen

Die folgende Tabelle zeigt die wichtigsten internen Datumsfunktionen in MySQL an:

Funktion Beschreibung
NOW() Rückgabe des aktuellen Datums und der aktuellen Uhrzeit
CURDATE() Rückgabe des aktuellen Datums
CURTIME() Rückgabe der aktuellen Uhrzeit
DATE() Extrahieren des Datumsteils aus einem Datum oder einer Datum-/Zeit-Ausdrucks
EXTRACT() Rückgabe der单独部分 von Datum und Uhrzeit
DATE_ADD() Ein angegebenen Zeitraum zu einem Datum hinzufügen
DATE_SUB() Von einem Datum ein angegebenen Zeitraum abziehen
DATEDIFF() Rückgabe der Anzahl der Tage zwischen zwei Daten
DATE_FORMAT() Anzeige von Datum und Uhrzeit in verschiedenen Formaten

SQL Server Date-Funktionen

Die folgende Tabelle zeigt die wichtigsten internen Datumsfunktionen in SQL Server an:

Funktion Beschreibung
GETDATE() Rückgabe des aktuellen Datums und der aktuellen Uhrzeit
DATEPART() Rückgabe der单独部分 von Datum und Uhrzeit
DATEADD() Hinzufügen oder Abziehen eines angegebenen Zeitraums in einem Datum
DATEDIFF() Rückgabe der Zeit zwischen zwei Daten
CONVERT() Anzeige von Datum und Uhrzeit in verschiedenen Formaten

SQL Date-Datentyp

MySQL verwendet die folgenden Datentypen, um Daten oder Daten-/Zeitwerte in der Datenbank zu speichern:

  • 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 Server verwendet die folgenden Datentypen, um Daten oder Daten-/Zeitwerte in der Datenbank zu speichern:

  • DATE - Format YYYY-MM-DD
  • DATETIME - Format: YYYY-MM-DD HH:MM:SS
  • SMALLDATETIME - Format: YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - Format: Einzigartige Nummer

SQL Datumsverarbeitung

Ohne Zeitteile können wir die beiden Daten leicht vergleichen!

Nehmen wir an, dass wir die folgende "Orders"-Tabelle haben:

OrderId ProductName OrderDate
1 computer 2008-12-26
2 printer 2008-12-26
3 electrograph 2008-11-12
4 telephone 2008-10-19

Jetzt möchten wir die Einträge mit OrderDate "2008-12-26" aus der obigen Tabelle auswählen.

Wir verwenden den folgenden SELECT-Ausdruck:

SELECT * FROM Orders WHERE OrderDate='2008-12-26'

Ergebnisliste:

OrderId ProductName OrderDate
1 computer 2008-12-26
3 electrograph 2008-12-26

Jetzt nehmen wir an, dass "Orders" so ähnlich ist (bitte beachten Sie den Zeitteil der "OrderDate"-Spalte):

OrderId ProductName OrderDate
1 computer 2008-12-26 16:23:55
2 printer 2008-12-26 10:45:26
3 electrograph 2008-11-12 14:12:08
4 telephone 2008-10-19 12:56:10

Wenn wir den obigen SELECT-Ausdruck verwenden:

SELECT * FROM Orders WHERE OrderDate='2008-12-26'

Dann erhalten wir keine Ergebnisse. Das liegt daran, dass der Abfrage keine Zeitteile des Datums enthalten.

Tipp:Wenn Sie die Abfrage einfach und leicht zu warten gestalten möchten, dann verwenden Sie bitte keine Zeitteile im Datum!