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.