MySQL SYSDATE()
funkcja zwraca aktualną datę i czas. Wartość jest zwracana w formacie „RRRR-MM-DD GG:MM:SS” lub RRRRMMDDGGMMSS format, w zależności od tego, czy funkcja jest używana w kontekście łańcuchowym czy liczbowym.
Ta funkcja jest podobna do NOW()
ale z subtelną różnicą. SYSDATE()
zwraca czas wykonania. NOW()
zwraca czas, w którym instrukcja zaczęła się wykonywać.
Składnia
Składnia wygląda tak:
SYSDATE([fsp])
Gdzie (opcjonalnie) fsp
argument określa precyzję ułamkowej sekundy dla wartości zwracanej.
Przykład
Oto przykład do zademonstrowania.
SELECT SYSDATE();
Wynik:
+---------------------+ | SYSDATE() | +---------------------+ | 2018-06-23 11:36:52 | +---------------------+
Dokładność ułamkowa sekund
Oto przykład użycia fsp
argument określający dokładność ułamków sekund dla wartości zwracanej.
SELECT SYSDATE(6);
Wynik:
+----------------------------+ | SYSDATE(6) | +----------------------------+ | 2018-06-23 11:37:05.515928 | +----------------------------+
Kontekst numeryczny
Oto przykład użycia SYSDATE()
funkcja w kontekście numerycznym.
SELECT SYSDATE() + 0;
Wynik:
+----------------+ | SYSDATE() + 0 | +----------------+ | 20180623113717 | +----------------+
Możesz również użyć wartości niezerowej, aby dodać lub odjąć od wartości zwracanej.
SYSDATE() kontra TERAZ()
Jak wspomniano, SYSDATE()
i NOW()
zrobić prawie to samo, ale z niewielką różnicą. SYSDATE()
zwraca czas wykonania. NOW()
z drugiej strony funkcja zwraca stały czas, który wskazuje czas, w którym instrukcja zaczęła się wykonywać.
Na przykład zobacz SYSDATE()
vs NOW()
w MySQL:jaka jest różnica?