I MariaDB, CURRENT_TIMESTAMP och CURRENT_TIMESTAMP() är synonymer för NOW() .
NOW() funktion är en inbyggd datum- och tidsfunktion som returnerar aktuellt datum och tid.
Tiden returneras i antingen 'YYYY-MM-DD HH:MM:SS' eller YYYYMMDDHHMMSS.uuuuuu format, beroende på om funktionen används i en sträng eller numerisk kontext.
Syntax
CURRENT_TIMESTAMP() kan användas på följande sätt:
CURRENT_TIMESTAMP
CURRENT_TIMESTAMP([precision])
Där precision är mikrosekundsprecisionen.
Du kan alternativt anropa NOW() så här:
NOW([precision]) Exempel
Här är ett exempel:
SELECT
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP(),
NOW(); Resultat:
+---------------------+---------------------+---------------------+ | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP() | NOW() | +---------------------+---------------------+---------------------+ | 2021-05-09 15:46:30 | 2021-05-09 15:46:30 | 2021-05-09 15:46:30 | +---------------------+---------------------+---------------------+
Vi kan se att alla tre ger samma resultat.
Numerisk kontext
När den används i ett numeriskt sammanhang är den resulterande tiden i YYYYMMDDHHMMSS.uuuuuu format.
Exempel:
SELECT
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP + 0,
CURRENT_TIMESTAMP() + 0; Resultat:
+---------------------+-----------------------+-------------------------+ | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP + 0 | CURRENT_TIMESTAMP() + 0 | +---------------------+-----------------------+-------------------------+ | 2021-05-09 15:47:12 | 20210509154712 | 20210509154712 | +---------------------+-----------------------+-------------------------+
Precision
När den används med CURRENT_TIMESTAMP([precision]) syntax kan du ange mikrosekundprecisionen för resultatet.
Exempel:
SELECT
CURRENT_TIMESTAMP(6),
CURRENT_TIMESTAMP(6) + 0; Resultat:
+----------------------------+--------------------------+ | CURRENT_TIMESTAMP(6) | CURRENT_TIMESTAMP(6) + 0 | +----------------------------+--------------------------+ | 2021-05-09 15:47:39.508987 | 20210509154739.508987 | +----------------------------+--------------------------+
Det maximala värdet för mikrosekundprecisionen är 6. Så här händer när en högre siffra passeras för precisionen:
SELECT CURRENT_TIMESTAMP(7); Resultat:
ERROR 1426 (42000): Too big precision 7 specified for 'current_timestamp'. Maximum is 6
Lägga till i den aktuella tidsstämpeln
Det finns många sätt att utföra aritmetik på datetime-värden i MariaDB.
Här är ett exempel på hur man använder additionsoperatorn (+ ) för att lägga till 2 dagar till datumet:
SELECT
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP + INTERVAL 2 DAY; Resultat:
+---------------------+------------------------------------+ | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP + INTERVAL 2 DAY | +---------------------+------------------------------------+ | 2021-05-09 15:49:01 | 2021-05-11 15:49:01 | +---------------------+------------------------------------+
Se även funktioner som DATE_ADD() och ADDDATE() för ett alternativt sätt att lägga till det aktuella datumet.
Att dra av från det aktuella datumet
Här är ett exempel på hur du använder subtraktionsoperatorn (- ) för att subtrahera 10 dagar från det aktuella datumet:
SELECT
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP - INTERVAL 10 DAY; Resultat:
+---------------------+-------------------------------------+ | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP - INTERVAL 10 DAY | +---------------------+-------------------------------------+ | 2021-05-09 15:49:28 | 2021-04-29 15:49:28 | +---------------------+-------------------------------------+
Se funktioner som DATE_SUB() och SUBDATE() för ett alternativt sätt att subtrahera från det aktuella datumet.