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