Problem:
Chcesz uzyskać aktualną datę i godzinę bazy danych MySQL.
Rozwiązanie:
Użyjemy jednej z dwóch funkcji, CURRENT_TIMESTAMP lub NOW(), aby uzyskać aktualną datę i godzinę.
SELECT CURRENT_TIMESTAMP ;
Oto wynik zapytania:
2019-08-15 11:13:17
Dyskusja:
CURRENT_TIMESTAMP
funkcja w bazie danych MySQL zwraca aktualną datę i godzinę (tj. czas maszyny, na której uruchomiona jest ta instancja MySQL). Jest podawana jako wartość w formacie „RRRR-MM-DD gg:mm:ss”.
Ta funkcja nie wymaga nawiasów. Możesz jednak użyć nawiasów, aby określić czas o wyższej precyzji. Po prostu umieść liczbę całkowitą od 1 do 6 w nawiasach – to określa liczbę ułamków sekund, które należy uwzględnić po przecinku. 1 oznacza tylko jedno miejsce po przecinku, 3 oznacza trzy miejsca itd. Oto przykład:
SELECT CURRENT_TIMESTAMP(6) ;
Zwraca to datę i godzinę z sześcioma ułamkami sekund, jak na przykład:
2019-08-27 12:08:56.146153
Ten wynik zawiera 6-cyfrowy ułamek sekundy, ponieważ umieściliśmy 6 jako opcjonalny argument w funkcji CURRENT_TIMESTAMP.
Funkcja NOW() jest podobna do CURRENT_TIMESTAMP
funkcji i zwraca ten sam wynik. Różnica polega na tym, że CURRENT_TIMESTAMP
jest standardową funkcją SQL, podczas gdy NOW() jest specyficzna dla MySQL. Zobaczmy przykład z NOW():
SELECT NOW() ;
Oto wynik zapytania:
2019-08-27 12:18:55
W przeciwieństwie do CURRENT_TIMESTAMP, NOW() wymaga nawiasów. Możesz pozostawić puste nawiasy, co spowoduje zwrócenie daty i godziny bez ułamków sekund. Jeśli chcesz uzyskać dokładniejszy wynik, użyj liczby całkowitej od 1 do 6 jako opcjonalnego argumentu (jak w przypadku CURRENT_TIMESTAMP). Zwróci określoną liczbę ułamków sekund.