V MariaDB, LOCALTIME
a LOCALTIME()
jsou synonyma pro NOW()
.
NOW()
funkce je vestavěná funkce data a času, která vrací aktuální datum a čas.
Čas je vrácen buď v 'YYYY-MM-DD HH:MM:SS'
nebo YYYYMMDDHHMMSS.uuuuuu
formát, v závislosti na tom, zda je funkce používána v řetězcovém nebo číselném kontextu.
Syntaxe
LOCALTIME()
lze použít následujícími způsoby:
LOCALTIME
LOCALTIME([precision])
Kde precision
je mikrosekundová přesnost.
Alternativně můžete zavolat NOW()
takhle:
NOW([precision])
Příklad
Zde je příklad:
SELECT
LOCALTIME,
LOCALTIME(),
NOW();
Výsledek:
+---------------------+---------------------+---------------------+ | LOCALTIME | LOCALTIME() | NOW() | +---------------------+---------------------+---------------------+ | 2021-05-10 09:06:38 | 2021-05-10 09:06:38 | 2021-05-10 09:06:38 | +---------------------+---------------------+---------------------+
Vidíme, že všechny tři vrátí stejný výsledek.
Číselný kontext
Při použití v číselném kontextu je výsledný čas v YYYYMMDDHHMMSS.uuuuuu
formát.
Příklad:
SELECT
LOCALTIME,
LOCALTIME + 0,
LOCALTIME() + 0;
Výsledek:
+---------------------+----------------+-----------------+ | LOCALTIME | LOCALTIME + 0 | LOCALTIME() + 0 | +---------------------+----------------+-----------------+ | 2021-05-10 09:06:54 | 20210510090654 | 20210510090654 | +---------------------+----------------+-----------------+
Přesnost
Při použití s LOCALTIME([precision])
syntaxi, můžete zadat přesnost na mikrosekundy pro výsledek.
Příklad:
SELECT
LOCALTIME(6),
LOCALTIME(6) + 0;
Výsledek:
+----------------------------+-----------------------+ | LOCALTIME(6) | LOCALTIME(6) + 0 | +----------------------------+-----------------------+ | 2021-05-10 09:07:09.717031 | 20210510090709.717031 | +----------------------------+-----------------------+
Maximální hodnota pro přesnost na mikrosekundy je 6. Co se stane, když je pro přesnost předáno vyšší číslo:
SELECT LOCALTIME(7);
Výsledek:
ERROR 1426 (42000): Too big precision 7 specified for 'current_timestamp'. Maximum is 6
Přidání k aktuálnímu časovému razítku
Existuje mnoho způsobů, jak provádět aritmetiku hodnot data a času v MariaDB.
Zde je příklad použití operátoru sčítání (+
), chcete-li k datu přidat 2 dny:
SELECT
LOCALTIME,
LOCALTIME + INTERVAL 2 DAY;
Výsledek:
+---------------------+----------------------------+ | LOCALTIME | LOCALTIME + INTERVAL 2 DAY | +---------------------+----------------------------+ | 2021-05-10 09:07:42 | 2021-05-12 09:07:42 | +---------------------+----------------------------+
Viz také funkce jako DATE_ADD()
a ADDDATE()
pro alternativní způsob přidání k aktuálnímu datu.
Odečítání od aktuálního data
Zde je příklad použití operátoru odčítání (-
) pro odečtení 10 dnů od aktuálního data:
SELECT
LOCALTIME,
LOCALTIME - INTERVAL 10 DAY;
Výsledek:
+---------------------+-----------------------------+ | LOCALTIME | LOCALTIME - INTERVAL 10 DAY | +---------------------+-----------------------------+ | 2021-05-10 09:07:58 | 2021-04-30 09:07:58 | +---------------------+-----------------------------+
Viz funkce jako DATE_SUB()
a SUBDATE()
pro alternativní způsob odečítání od aktuálního data.