In MariaDB, NOW()
is een ingebouwde datum- en tijdfunctie die de huidige datum en tijd retourneert.
De geretourneerde waarde wordt geretourneerd in 'YYYY-MM-DD HH:MM:SS'
of YYYYMMDDHHMMSS.uuuuuu
formaat, afhankelijk van of de functie in een tekenreeks of in een numerieke context wordt gebruikt.
De retourwaarde wordt uitgedrukt in de huidige tijdzone.
Je hebt ook de mogelijkheid om de precisie van microseconden op te geven.
Syntaxis
De syntaxis gaat als volgt:
NOW([precision])
Waar precision
is een optioneel argument dat de precisie van microseconden specificeert.
Het heeft ook de volgende synoniemen:
CURRENT_TIMESTAMP
CURRENT_TIMESTAMP([precision])
LOCALTIME
LOCALTIME([precision])
LOCALTIMESTAMP
LOCALTIMESTAMP([precision])
Voorbeeld
Hier is een voorbeeld:
SELECT NOW();
Resultaat:
+---------------------+ | NOW() | +---------------------+ | 2021-05-09 10:12:39 | +---------------------+
Numerieke context
Wanneer NOW()
wordt gebruikt in een numerieke context, het resultaat is in YYYYMMDDHHMMSS.uuuuuu
formaat.
Voorbeeld:
SELECT
NOW(),
NOW() + 0;
Resultaat:
+---------------------+----------------+ | NOW() | NOW() + 0 | +---------------------+----------------+ | 2021-05-09 10:13:10 | 20210509101310 | +---------------------+----------------+
Precisie
Hier is een voorbeeld van het specificeren van microseconde precisie:
SELECT
NOW(6),
NOW(6) + 0;
Resultaat:
+----------------------------+-----------------------+ | NOW(6) | NOW(6) + 0 | +----------------------------+-----------------------+ | 2021-05-09 10:13:30.619522 | 20210509101330.619522 | +----------------------------+-----------------------+
De maximale waarde voor de precisie van microseconden is 6. Dit gebeurt er als een hoger getal wordt doorgegeven voor de precisie:
SELECT NOW(12);
Resultaat:
ERROR 1426 (42000): Too big precision 12 specified for 'current_timestamp'. Maximum is 6
Synoniemen
Zoals te zien is in de bovenstaande syntaxis, zijn er een aantal synoniemen voor NOW()
.
Hier is een voorbeeld dat de verschillende synoniemen gebruikt:
SELECT
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP(),
LOCALTIME,
LOCALTIME(),
LOCALTIMESTAMP,
LOCALTIMESTAMP();
Resultaat (met verticale uitvoer):
CURRENT_TIMESTAMP: 2021-05-09 10:24:53 CURRENT_TIMESTAMP(): 2021-05-09 10:24:53 LOCALTIME: 2021-05-09 10:24:53 LOCALTIME(): 2021-05-09 10:24:53 LOCALTIMESTAMP: 2021-05-09 10:24:53 LOCALTIMESTAMP(): 2021-05-09 10:24:53
Toevoegen aan de huidige tijdstempel
Er zijn veel manieren om berekeningen uit te voeren op datetime-waarden in MariaDB.
Hier is een voorbeeld van het gebruik van de opteloperator (+
) om 2 dagen aan de datum toe te voegen:
SELECT
NOW(),
NOW() + INTERVAL 2 DAY;
Resultaat:
+---------------------+------------------------+ | NOW() | NOW() + INTERVAL 2 DAY | +---------------------+------------------------+ | 2021-05-09 10:17:39 | 2021-05-11 10:17:39 | +---------------------+------------------------+
Zie ook functies zoals DATE_ADD()
en ADDDATE()
voor een alternatieve manier om toe te voegen aan de huidige datum.
Aftrekken van de huidige datum
Hier is een voorbeeld van het gebruik van de aftrekkingsoperator (-
) om 10 dagen van de huidige datum af te trekken:
SELECT
NOW(),
NOW() - INTERVAL 10 DAY;
Resultaat:
+---------------------+-------------------------+ | NOW() | NOW() - INTERVAL 10 DAY | +---------------------+-------------------------+ | 2021-05-09 10:19:35 | 2021-04-29 10:19:35 | +---------------------+-------------------------+
Zie functies zoals DATE_SUB()
en SUBDATE()
voor een alternatieve manier om af te trekken van de huidige datum.