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?