I MariaDB, LOCALTIMESTAMP
och LOCALTIMESTAMP()
ä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
LOCALTIMESTAMP()
kan användas på följande sätt:
LOCALTIMESTAMP
LOCALTIMESTAMP([precision])
Där precision
är mikrosekundsprecisionen.
Du kan alternativt anropa NOW()
så här:
NOW([precision])
Exempel
Här är ett exempel:
SELECT
LOCALTIMESTAMP,
LOCALTIMESTAMP(),
NOW();
Resultat:
+---------------------+---------------------+---------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP() | NOW() | +---------------------+---------------------+---------------------+ | 2021-05-10 09:11:33 | 2021-05-10 09:11:33 | 2021-05-10 09:11:33 | +---------------------+---------------------+---------------------+
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
LOCALTIMESTAMP,
LOCALTIMESTAMP + 0,
LOCALTIMESTAMP() + 0;
Resultat:
+---------------------+--------------------+----------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP + 0 | LOCALTIMESTAMP() + 0 | +---------------------+--------------------+----------------------+ | 2021-05-10 09:11:49 | 20210510091149 | 20210510091149 | +---------------------+--------------------+----------------------+
Precision
När den används med LOCALTIMESTAMP([precision])
syntax kan du ange mikrosekundprecisionen för resultatet.
Exempel:
SELECT
LOCALTIMESTAMP(6),
LOCALTIMESTAMP(6) + 0;
Resultat:
+----------------------------+-----------------------+ | LOCALTIMESTAMP(6) | LOCALTIMESTAMP(6) + 0 | +----------------------------+-----------------------+ | 2021-05-10 09:12:09.119326 | 20210510091209.119326 | +----------------------------+-----------------------+
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 LOCALTIMESTAMP(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
LOCALTIMESTAMP,
LOCALTIMESTAMP + INTERVAL 2 DAY;
Resultat:
+---------------------+---------------------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP + INTERVAL 2 DAY | +---------------------+---------------------------------+ | 2021-05-10 09:12:29 | 2021-05-12 09:12:29 | +---------------------+---------------------------------+
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
LOCALTIMESTAMP,
LOCALTIMESTAMP - INTERVAL 10 DAY;
Resultat:
+---------------------+----------------------------------+ | LOCALTIMESTAMP | LOCALTIMESTAMP - INTERVAL 10 DAY | +---------------------+----------------------------------+ | 2021-05-10 09:12:45 | 2021-04-30 09:12:45 | +---------------------+----------------------------------+
Se funktioner som DATE_SUB()
och SUBDATE()
för ett alternativt sätt att subtrahera från det aktuella datumet.