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.