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