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.