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.