V MariaDB, LOCALTIMESTAMP a LOCALTIMESTAMP() 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
LOCALTIMESTAMP() lze použít následujícími způsoby:
LOCALTIMESTAMP
LOCALTIMESTAMP([precision])
Kde precision je mikrosekundová přesnost.
Alternativně můžete zavolat NOW() takhle:
NOW([precision]) Příklad
Zde je příklad:
SELECT
LOCALTIMESTAMP,
LOCALTIMESTAMP(),
NOW(); Výsledek:
+---------------------+---------------------+---------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP() | NOW() | +---------------------+---------------------+---------------------+ | 2021-05-10 09:11:33 | 2021-05-10 09:11:33 | 2021-05-10 09:11:33 | +---------------------+---------------------+---------------------+
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
LOCALTIMESTAMP,
LOCALTIMESTAMP + 0,
LOCALTIMESTAMP() + 0; Výsledek:
+---------------------+--------------------+----------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP + 0 | LOCALTIMESTAMP() + 0 | +---------------------+--------------------+----------------------+ | 2021-05-10 09:11:49 | 20210510091149 | 20210510091149 | +---------------------+--------------------+----------------------+
Přesnost
Při použití s LOCALTIMESTAMP([precision]) syntaxi, můžete zadat přesnost na mikrosekundy pro výsledek.
Příklad:
SELECT
LOCALTIMESTAMP(6),
LOCALTIMESTAMP(6) + 0; Výsledek:
+----------------------------+-----------------------+ | LOCALTIMESTAMP(6) | LOCALTIMESTAMP(6) + 0 | +----------------------------+-----------------------+ | 2021-05-10 09:12:09.119326 | 20210510091209.119326 | +----------------------------+-----------------------+
Maximální hodnota pro přesnost na mikrosekundy je 6. Co se stane, když je pro přesnost předáno vyšší číslo:
SELECT LOCALTIMESTAMP(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
LOCALTIMESTAMP,
LOCALTIMESTAMP + INTERVAL 2 DAY; Výsledek:
+---------------------+---------------------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP + INTERVAL 2 DAY | +---------------------+---------------------------------+ | 2021-05-10 09:12:29 | 2021-05-12 09:12:29 | +---------------------+---------------------------------+
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
LOCALTIMESTAMP,
LOCALTIMESTAMP - INTERVAL 10 DAY; Výsledek:
+---------------------+----------------------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP - INTERVAL 10 DAY | +---------------------+----------------------------------+ | 2021-05-10 09:12:45 | 2021-04-30 09:12:45 | +---------------------+----------------------------------+
Viz funkce jako DATE_SUB() a SUBDATE() pro alternativní způsob odečítání od aktuálního data.