W MariaDB:CURRENT_TIME
i CURRENT_TIME()
są synonimami CURTIME()
.
CURTIME()
funkcja to wbudowana funkcja daty i czasu, która zwraca aktualny czas.
Czas jest zwracany w postaci 'HH:MM:SS'
lub HHMMSS.uuuuuu
format, w zależności od tego, czy funkcja jest używana w kontekście łańcuchowym czy liczbowym.
Składnia
CURRENT_TIME()
może być używany w następujący sposób:
CURRENT_TIME
CURRENT_TIME([precision])
Gdzie precision
to precyzja w mikrosekundach.
Możesz alternatywnie wywołać CURTIME()
tak:
CURTIME([precision])
Przykład
Oto przykład:
SELECT
CURRENT_TIME,
CURRENT_TIME(),
CURTIME();
Wynik:
+--------------+----------------+-----------+ | CURRENT_TIME | CURRENT_TIME() | CURTIME() | +--------------+----------------+-----------+ | 09:59:13 | 09:59:13 | 09:59:13 | +--------------+----------------+-----------+
Widzimy, że wszystkie trzy zwracają ten sam wynik.
Kontekst numeryczny
Gdy jest używany w kontekście numerycznym, wynikowy czas jest w HHMMSS.uuuuuu
format.
Przykład:
SELECT
CURRENT_TIME,
CURRENT_TIME + 0,
CURRENT_TIME() + 0;
Wynik:
+--------------+------------------+--------------------+ | CURRENT_TIME | CURRENT_TIME + 0 | CURRENT_TIME() + 0 | +--------------+------------------+--------------------+ | 10:00:29 | 100029 | 100029 | +--------------+------------------+--------------------+
Precyzja
W przypadku użycia z CURRENT_TIME([precision])
składni, możesz określić mikrosekundową precyzję wyniku.
Przykład:
SELECT
CURRENT_TIME(3),
CURRENT_TIME(3) + 0;
Wynik:
+-----------------+---------------------+ | CURRENT_TIME(3) | CURRENT_TIME(3) + 0 | +-----------------+---------------------+ | 10:02:00.088 | 100200.088 | +-----------------+---------------------+
Maksymalna wartość precyzji w mikrosekundach wynosi 6. Oto, co się dzieje, gdy dla precyzji zostanie przekazana wyższa liczba:
SELECT CURRENT_TIME(12);
Wynik:
ERROR 1426 (42000): Too big precision 12 specified for 'curtime'. Maximum is 6
Dodawanie do aktualnego czasu
Istnieje wiele sposobów wykonywania arytmetyki na datach i godzinach w MariaDB. Możesz użyć takich metod, aby dodać liczbę dni, tygodni, godzin, minut itp.
Oto przykład użycia operatora dodawania (+
) aby dodać 2 godziny do czasu:
SELECT
CURRENT_TIME,
CURRENT_TIME + INTERVAL 2 HOUR;
Wynik:
+--------------+--------------------------------+ | CURRENT_TIME | CURRENT_TIME + INTERVAL 2 HOUR | +--------------+--------------------------------+ | 10:04:19 | 12:04:19 | +--------------+--------------------------------+
Zobacz także funkcje takie jak ADDTIME()
dla alternatywnego sposobu dodawania aktualnego czasu.
Odejmowanie od aktualnego czasu
Oto przykład użycia operatora odejmowania (-
) aby odjąć 2 godziny od aktualnego czasu:
SELECT
CURTIME(),
CURTIME() - INTERVAL 2 HOUR;
Wynik:
+-----------+-----------------------------+ | CURTIME() | CURTIME() - INTERVAL 2 HOUR | +-----------+-----------------------------+ | 10:05:14 | 08:05:14 | +-----------+-----------------------------+
Zobacz funkcje takie jak SUBTIME()
dla alternatywnego sposobu odejmowania od aktualnego czasu.