W MariaDB, LOCALTIMESTAMP
i LOCALTIMESTAMP()
są synonimami dla NOW()
.
NOW()
funkcja to wbudowana funkcja daty i czasu, która zwraca bieżącą datę i godzinę.
Czas jest zwracany w formacie 'YYYY-MM-DD HH:MM:SS'
lub YYYYMMDDHHMMSS.uuuuuu
format, w zależności od tego, czy funkcja jest używana w kontekście łańcuchowym czy liczbowym.
Składnia
LOCALTIMESTAMP()
może być używany w następujący sposób:
LOCALTIMESTAMP
LOCALTIMESTAMP([precision])
Gdzie precision
to precyzja w mikrosekundach.
Możesz alternatywnie wywołać NOW()
tak:
NOW([precision])
Przykład
Oto przykład:
SELECT
LOCALTIMESTAMP,
LOCALTIMESTAMP(),
NOW();
Wynik:
+---------------------+---------------------+---------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP() | NOW() | +---------------------+---------------------+---------------------+ | 2021-05-10 09:11:33 | 2021-05-10 09:11:33 | 2021-05-10 09:11:33 | +---------------------+---------------------+---------------------+
Widzimy, że wszystkie trzy zwracają ten sam wynik.
Kontekst numeryczny
W przypadku użycia w kontekście numerycznym, wynikowy czas jest w YYYYMMDDHHMMSS.uuuuuu
format.
Przykład:
SELECT
LOCALTIMESTAMP,
LOCALTIMESTAMP + 0,
LOCALTIMESTAMP() + 0;
Wynik:
+---------------------+--------------------+----------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP + 0 | LOCALTIMESTAMP() + 0 | +---------------------+--------------------+----------------------+ | 2021-05-10 09:11:49 | 20210510091149 | 20210510091149 | +---------------------+--------------------+----------------------+
Precyzja
W przypadku użycia z LOCALTIMESTAMP([precision])
składni, możesz określić mikrosekundową precyzję wyniku.
Przykład:
SELECT
LOCALTIMESTAMP(6),
LOCALTIMESTAMP(6) + 0;
Wynik:
+----------------------------+-----------------------+ | LOCALTIMESTAMP(6) | LOCALTIMESTAMP(6) + 0 | +----------------------------+-----------------------+ | 2021-05-10 09:12:09.119326 | 20210510091209.119326 | +----------------------------+-----------------------+
Maksymalna wartość precyzji w mikrosekundach wynosi 6. Oto, co się dzieje, gdy dla precyzji zostanie przekazana wyższa liczba:
SELECT LOCALTIMESTAMP(7);
Wynik:
ERROR 1426 (42000): Too big precision 7 specified for 'current_timestamp'. Maximum is 6
Dodawanie do aktualnego znacznika czasu
Istnieje wiele sposobów wykonywania arytmetyki na wartościach daty i godziny w MariaDB.
Oto przykład użycia operatora dodawania (+
) aby dodać 2 dni do daty:
SELECT
LOCALTIMESTAMP,
LOCALTIMESTAMP + INTERVAL 2 DAY;
Wynik:
+---------------------+---------------------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP + INTERVAL 2 DAY | +---------------------+---------------------------------+ | 2021-05-10 09:12:29 | 2021-05-12 09:12:29 | +---------------------+---------------------------------+
Zobacz także funkcje takie jak DATE_ADD()
i ADDDATE()
dla alternatywnego sposobu dodawania do bieżącej daty.
Odejmowanie od bieżącej daty
Oto przykład użycia operatora odejmowania (-
) aby odjąć 10 dni od bieżącej daty:
SELECT
LOCALTIMESTAMP,
LOCALTIMESTAMP - INTERVAL 10 DAY;
Wynik:
+---------------------+----------------------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP - INTERVAL 10 DAY | +---------------------+----------------------------------+ | 2021-05-10 09:12:45 | 2021-04-30 09:12:45 | +---------------------+----------------------------------+
Zobacz funkcje takie jak DATE_SUB()
i SUBDATE()
dla alternatywnego sposobu odejmowania od bieżącej daty.