Holen Sie sich das aktuelle Datum und die aktuelle Uhrzeit in MySQL
- Holen Sie sich das aktuelle Datum und die aktuelle Uhrzeit in MySQL
-
die
NOW()
-Funktion -
die Funktion
CURRENT_TIMESTAMP()
-
die
SYSDATE()
-Funktion
Heute lernen wir NOW()
, CURRENT_TIMESTAMP()
(auch als CURRENT_TIMESTAMP
geschrieben) und SYSDATE()
, um das aktuelle Datum und die aktuelle Uhrzeit in MySQL zu erhalten. Wir werden auch den Vergleich zwischen diesen drei Funktionen sehen.
Holen Sie sich das aktuelle Datum und die aktuelle Uhrzeit in MySQL
Wir haben drei Methoden, um das aktuelle Datum und die aktuelle Uhrzeit in MySQL zu erhalten. Zu diesen Methoden gehören NOW()
, CURRENT_TIMESTAMP()
, auch als CURRENT_TIMESTAMP
geschrieben, SYSDATE()
. Wir können sie einfach in der INSERT
-Anweisung wie folgt verwenden.
Beispielcode:
# use NOW()
INSERT INTO student_attendance(ID, ATTENDANCE)
VALUES(1, NOW());
# use CURRENT_DATETIME
INSERT INTO student_attendance(ID, ATTENDANCE)
VALUES(1, CURRENT_DATETIME);
# use SYSDATE()
INSERT INTO student_attendance(ID, ATTENDANCE)
VALUES(1, SYSDATE());
Da wir mehrere Möglichkeiten haben, das aktuelle Datum und die Uhrzeit einzufügen, ist es wichtig, den Unterschied zwischen ihnen zu verstehen.
Es wird geklärt, wann und wo eine der genannten Methoden anzuwenden ist. Nachfolgend ein kurzer Vergleich von NOW()
, CURRENT_TIMESTAMP()
und SYSDATE()
.
die NOW()
-Funktion
Das Datum und die Uhrzeit werden von der Methode NOW()
zurückgegeben, je nachdem, welchen Kontext wir verwenden. Beispielsweise gibt die Methode NOW()
Datum und Uhrzeit im String-Format als "YYYY-MM-DD HH-MM-SS"
zurück, wenn der Kontext ein String ist.
Es wird in einem numerischen Format als YYYYMMDDHHMMSS
zurückgegeben, wenn die Funktion einen numerischen Kontext verwendet. Es gibt die konstante Zeit zurück, die die Zeit anzeigt, zu der diese bestimmte Anweisung mit der Ausführung beginnt.
Es ist verfügbar und kann in MySQL-Version 4.0 und höher verwendet werden.
die Funktion CURRENT_TIMESTAMP()
Wir können CURRENT_TIMESTAMP()
auch als CURRENT_TIMESTAMP
schreiben. Es gibt das aktuelle Datum und die aktuelle Uhrzeit als "YYYY-MM-DD HH-MM-SS"
oder YYYYMMDDHHMMSS
zurück, wenn die Funktion den String-Kontext bzw. den numerischen Kontext verwendet.
Das Synonym von CURRENT_TIMESTAMP
umfasst die Funktionen NOW()
und CURRENT_TIMESTAMP()
. Führen Sie die folgende Abfrage aus, um dieselbe Ausgabe anzuzeigen.
SELECT NOW(), CURRENT_TIMESTAMP, CURRENT_TIMESTAMP();
AUSGANG:
NOW() |
CURRENT_TIMESTAMP |
CURRENT_TIMESTAMP() |
---|---|---|
2022-04-26 11:40:25 | 2022-04-26 11:40:25 | 2022-04-26 11:40:25 |
Es ist in MySQL-Version 4.0 und höher verfügbar. Es gibt auch eine konstante Zeit aus, die die Zeit darstellt, zu der diese spezifische Abfrage mit der Ausführung beginnt.
die SYSDATE()
-Funktion
Wie die Funktionen NOW()
und CURRENT_TIMESTAMP()
gibt es auch das aktuelle Datum und die aktuelle Uhrzeit zurück, abhängig vom Kontext, der von dieser Funktion verwendet wird. Der Kontext kann eine Zeichenfolge oder eine Zahl sein.
Für Zeichenfolgen- und numerischen Kontext wird dies als "YYYY-MM-DD HH:MM:SS"
bzw. YYYYMMDDHHMMSS
zurückgegeben. Die Funktion SYSDATE()
gibt die genaue Zeit zurück, zu der die Abfrage ausgeführt wird.
Nachdem wir die MySQL-Dokumentation durchgesehen haben, können wir sagen, dass es einen feinen Unterschied zwischen SYSDATE()
und NOW()
gibt. Denken Sie daran, dass NOW()
, CURRENT_TIMESTAMP
und CURRENT_TIMESTAMP()
dieselben Ergebnisse zurückgeben.
Führen Sie die folgende Abfrage aus, um den Unterschied festzustellen.
SELECT NOW(), SYSDATE(), CURRENT_TIMESTAMP(),
SLEEP(5), NOW(), SYSDATE(),CURRENT_TIMESTAMP();
AUSGANG:
In der oben angegebenen Ausgabe bleibt alles konstant, mit Ausnahme des Ergebnisses, das von der Funktion SYSDATE()
vor und nach der Funktion SLEEP()
erzeugt wird. Die Methode NOW()
gibt die konstante Zeit zurück, die darstellt, wann die Abfrage ausgeführt wird.
In einem Trigger oder einer gespeicherten Prozedur (auch gespeicherte Funktion genannt) gibt NOW()
den Zeitpunkt aus, zu dem die auslösende Anweisung oder Funktion mit der Ausführung beginnt. Während das SYSDATE()
die genaue Zeit zurückgibt, zu der es läuft (ausführt).