Direkt zum Inhalt
Urkunden
FunktionenAusdrückeSchlüsselwörterAussagenKlauseln

MySQL CURDATE() Function

Die Funktion `CURDATE()` in MySQL gibt das aktuelle Datum im Format `JJJJ-MM-TT` zurück. Sie wird häufig verwendet, um das aktuelle Datum in SQL-Abfragen abzurufen und zu vergleichen.

Verwendung

Die Funktion `CURDATE()` wird verwendet, wenn du bei Datenoperationen mit dem aktuellen Datum arbeiten musst, z. B. beim Filtern von Datensätzen oder beim Setzen von Standard-Datumswerten. Sie benötigt keine Argumente und kann in `SELECT`-, `INSERT`-, `UPDATE`- und `WHERE`-Klauseln verwendet werden.

sql
CURDATE();

Diese Syntax gibt das aktuelle Datum als einen Datumswert zurück.

Hinweis: `CURDATE()` und `CURRENT_DATE()` sind Synonyme und können austauschbar verwendet werden.

Beispiele

1. Grundlegende Abfrage des aktuellen Datums

sql
SELECT CURDATE();

In diesem Beispiel wird einfach das aktuelle Datum von der Systemuhr des MySQL-Servers abgefragt.

2. Verwendung von CURDATE() in einer WHERE-Klausel

sql
SELECT order_id, order_date
FROM orders
WHERE order_date = CURDATE();

In diesem Beispiel wird `CURDATE()` verwendet, um Bestellungen zu filtern, die am aktuellen Datum aufgegeben wurden.

3. Aktuelles Datum in eine Tabelle einfügen

sql
INSERT INTO attendance (employee_id, date_checked_in)
VALUES (123, CURDATE());

Hier wird `CURDATE()` verwendet, um automatisch das aktuelle Datum in die Spalte `date_checked_in` einzufügen, wenn ein neuer Datensatz hinzugefügt wird.

4. Komplexe Abfrage mit Datumsarithmetik

sql
SELECT employee_id
FROM attendance
WHERE date_checked_in = DATE_SUB(CURDATE(), INTERVAL 1 DAY);

In diesem Beispiel werden die Datensätze der Mitarbeiter abgerufen, die am Tag vor dem aktuellen Datum eingecheckt haben.

Tipps und bewährte Praktiken

  • Achte auf eine einheitliche Zeitzone. Stelle sicher, dass deine Anwendung und der MySQL-Server dieselben Zeitzoneneinstellungen verwenden, um unerwartete Ergebnisse zu vermeiden.
  • Verwende `CURDATE()` für reine Datumswerte. Wenn du sowohl Datum als auch Uhrzeit benötigst, solltest du stattdessen `NOW()` verwenden.
  • Kombiniere mit Datumsfunktionen. Verwende `CURDATE()` neben anderen Datumsfunktionen wie `DATE_ADD()` für komplexere Datumsberechnungen.
  • Sei dir des impliziten Castings bewusst. Beim Vergleich von `CURDATE()` mit datetime-Spalten kann es zu implizitem Casting kommen, was die Leistung beeinträchtigen kann. Zur Optimierung kannst du die datetime-Spalte explizit mit `CAST(datetime_column AS DATE)` in ein Datum umwandeln.

SQL Upskilling für Einsteiger

Erwerbe die SQL-Kenntnisse, um mit deinen Daten zu interagieren und sie abzufragen.
Kostenloses Lernen beginnen