W MariaDB CURRENT_TIMESTAMP i CURRENT_TIMESTAMP() 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
CURRENT_TIMESTAMP() może być używany w następujący sposób:
CURRENT_TIMESTAMP
CURRENT_TIMESTAMP([precision])
Gdzie precision to precyzja w mikrosekundach.
Możesz alternatywnie wywołać NOW() tak:
NOW([precision]) Przykład
Oto przykład:
SELECT
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP(),
NOW(); Wynik:
+---------------------+---------------------+---------------------+ | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP() | NOW() | +---------------------+---------------------+---------------------+ | 2021-05-09 15:46:30 | 2021-05-09 15:46:30 | 2021-05-09 15:46:30 | +---------------------+---------------------+---------------------+
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
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP + 0,
CURRENT_TIMESTAMP() + 0; Wynik:
+---------------------+-----------------------+-------------------------+ | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP + 0 | CURRENT_TIMESTAMP() + 0 | +---------------------+-----------------------+-------------------------+ | 2021-05-09 15:47:12 | 20210509154712 | 20210509154712 | +---------------------+-----------------------+-------------------------+
Precyzja
W przypadku użycia z CURRENT_TIMESTAMP([precision]) składni, możesz określić mikrosekundową precyzję wyniku.
Przykład:
SELECT
CURRENT_TIMESTAMP(6),
CURRENT_TIMESTAMP(6) + 0; Wynik:
+----------------------------+--------------------------+ | CURRENT_TIMESTAMP(6) | CURRENT_TIMESTAMP(6) + 0 | +----------------------------+--------------------------+ | 2021-05-09 15:47:39.508987 | 20210509154739.508987 | +----------------------------+--------------------------+
Maksymalna wartość precyzji w mikrosekundach wynosi 6. Oto, co się dzieje, gdy dla precyzji zostanie przekazana wyższa liczba:
SELECT CURRENT_TIMESTAMP(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
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP + INTERVAL 2 DAY; Wynik:
+---------------------+------------------------------------+ | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP + INTERVAL 2 DAY | +---------------------+------------------------------------+ | 2021-05-09 15:49:01 | 2021-05-11 15:49:01 | +---------------------+------------------------------------+
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
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP - INTERVAL 10 DAY; Wynik:
+---------------------+-------------------------------------+ | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP - INTERVAL 10 DAY | +---------------------+-------------------------------------+ | 2021-05-09 15:49:28 | 2021-04-29 15:49:28 | +---------------------+-------------------------------------+
Zobacz funkcje takie jak DATE_SUB() i SUBDATE() dla alternatywnego sposobu odejmowania od bieżącej daty.