Direkt zum Inhalt
Urkunden
FunktionenAusdrückeSchlüsselwörterAussagenKlauseln

MySQL NOW() Function

Die Funktion `NOW()` in MySQL gibt das aktuelle Datum und die Uhrzeit im Format `YYYY-MM-DD HH:MM:SS` zurück. Sie wird häufig verwendet, um den genauen Zeitpunkt der Ausführung einer SQL-Anweisung zu erfassen. Das Ergebnis basiert auf der aktuellen Zeitzone des Servers, sofern nicht anders konfiguriert.

Verwendung

Die Funktion `NOW()` wird verwendet, wenn du den aktuellen Zeitstempel für Operationen wie das Einfügen von Daten, Aktualisierungen oder die Protokollierung innerhalb von SQL-Kontexten wie `SELECT`-Anweisungen oder gespeicherten Prozeduren benötigst. Dieser Lernpfad wird häufig verwendet, um den Zeitpunkt der Erstellung oder Änderung von Datensätzen zu verfolgen.

sql
SELECT NOW();

In dieser Syntax gibt `NOW()` das aktuelle Datum und die aktuelle Uhrzeit an, wenn die Abfrage ausgeführt wird.

Beispiele

1. Aktuelles Datum und Uhrzeit abrufen

sql
SELECT NOW();

Dieses Beispiel gibt das aktuelle Datum und die Uhrzeit vom Server zurück.

2. Aktuellen Zeitstempel einfügen

sql
INSERT INTO logs (event, created_at)
VALUES ('User login', NOW());

Hier protokolliert die Funktion `NOW()` den genauen Zeitpunkt, zu dem sich ein Benutzer anmeldet, und speichert ihn in der Spalte `created_at`.

3. Aktualisierung mit aktuellem Zeitstempel

sql
UPDATE orders
SET last_modified = NOW()
WHERE order_id = 102;

Dieses Beispiel aktualisiert die Spalte `last_modified` einer bestimmten Bestellung mit dem aktuellen Zeitstempel, der angibt, wann die letzte Änderung vorgenommen wurde.

Tipps und bewährte Praktiken

  • Verwendung bei INSERT und UPDATE. Verwende `NOW()`, um Datensätze bei der Erstellung oder Änderung automatisch mit einem Zeitstempel zu versehen.
  • Kombiniere sie mit den Zeitzoneneinstellungen. Stelle sicher, dass die Zeitzoneneinstellungen deiner Datenbank mit den Anforderungen deiner Anwendung übereinstimmen, um genaue Zeitstempel zu erhalten. Verwende Funktionen wie `CONVERT_TZ()`, um Zeitzonen effektiv zu verwalten.
  • Berücksichtige die Auswirkungen auf die Leistung. NOW() wird einmal pro Anweisung ausgewertet, nicht pro Zeile, was den Leistungsaufwand bei großen Abfragen verringert.
  • Für die Protokollierung und Prüfung verwenden. Mit dem Lernpfad `NOW()` kannst du die Aktivitäten in deinen Anwendungen zu Debugging- und Auditing-Zwecken effektiv verfolgen.
  • Kompatibilität der Datentypen. Die Funktion `NOW()` kann in den Spalten `DATETIME` und `TIMESTAMP` gespeichert werden, die jeweils unterschiedliche Eigenschaften in Bezug auf die Zeitzonenbehandlung und die automatische Aktualisierung haben.
  • Überlegungen zur Transaktion. Achte darauf, wie sich die `NOW()`-Werte zwischen verschiedenen Anweisungen in einer Transaktion ändern können, wenn sie zu unterschiedlichen Zeiten ausgeführt werden.
  • Unterscheide dich von CURRENT_TIMESTAMP(). Obwohl `NOW()` und `CURRENT_TIMESTAMP()` oft synonym verwendet werden, gibt es feine Unterschiede; `CURRENT_TIMESTAMP()` kann durch die Attribute `DEFAULT CURRENT_TIMESTAMP` und `ON UPDATE CURRENT_TIMESTAMP` in den Spaltendefinitionen angepasst werden.

SQL Upskilling für Einsteiger

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