In MySQL is de TIMESTAMP()
functie retourneert een datetime-waarde op basis van de ingevoerde argumenten. U kunt één of twee argumenten opgeven. Als u er twee opgeeft, wordt de tweede bij de eerste opgeteld en wordt het resultaat geretourneerd.
Syntaxis
U kunt een van deze twee vormen gebruiken:
TIMESTAMP(expr) TIMESTAMP(expr1,expr2)
Het eerste argument (expr
en expr1
) is een datum- of datetime-expressie. Het tweede argument (expr2
) is een tijduitdrukking. Als u twee argumenten opgeeft, expr2
is toegevoegd aan expr1
en het resultaat is een datetime-waarde.
Voorbeeld 1 – Geef een 'datum'-argument op
In dit voorbeeld geef ik een datumuitdrukking op.
SELECT TIMESTAMP('1999-12-31');
Resultaat:
+-------------------------+ | TIMESTAMP('1999-12-31') | +-------------------------+ | 1999-12-31 00:00:00 | +-------------------------+
Het resultaat is dus een datetime-waarde, ongeacht of ons argument een date- of datetime-expressie was.
Voorbeeld 2 – Geef een ‘datetime’-argument op
En hier is een voorbeeld waarin een datetime-expressie wordt gebruikt.
SELECT TIMESTAMP('1999-12-31 23:59:59');
Resultaat:
+----------------------------------+ | TIMESTAMP('1999-12-31 23:59:59') | +----------------------------------+ | 1999-12-31 23:59:59 | +----------------------------------+
Voorbeeld 3 – Voeg fractionele seconden toe
U kunt ook een deel van een fractie van een seconde tot microseconden (6 cijfers) opnemen. Als je dit doet, zal het resultaat ook dat deel bevatten.
SELECT TIMESTAMP('1999-12-31 23:59:59.999999');
Resultaat:
+-----------------------------------------+ | TIMESTAMP('1999-12-31 23:59:59.999999') | +-----------------------------------------+ | 1999-12-31 23:59:59.999999 | +-----------------------------------------+
Voorbeeld 4 – 2 argumenten geven
Hier is een voorbeeld met twee argumenten. Zoals gezegd, wordt de tweede toegevoegd aan de eerste.
SELECT TIMESTAMP('1999-12-31', '12:30:45');
Resultaat:
+-------------------------------------+ | TIMESTAMP('1999-12-31', '12:30:45') | +-------------------------------------+ | 1999-12-31 12:30:45 | +-------------------------------------+
Voorbeeld 5 – Grotere ‘tijd’-waarden
Het tijdgegevenstype kan een bereik hebben van -838:59:59 naar 838:59:59 . Dit komt omdat het niet alleen beperkt is tot het weergeven van de tijd van de dag. Het kan ook worden gebruikt om de verstreken tijd weer te geven. In dit geval gebruiken we het om een groot aantal uren op te tellen bij een datumwaarde.
SELECT TIMESTAMP('1999-12-31', '400:30:45');
Resultaat:
+--------------------------------------+ | TIMESTAMP('1999-12-31', '400:30:45') | +--------------------------------------+ | 2000-01-16 16:30:45 | +--------------------------------------+
Voorbeeld 6 – Negatieve waarden
Je kunt het tweede argument van het eerste aftrekken, simpelweg door de tweede waarde vooraf te laten gaan door een minteken.
SELECT TIMESTAMP('1999-12-31', '-400:30:45');
Resultaat:
+---------------------------------------+ | TIMESTAMP('1999-12-31', '-400:30:45') | +---------------------------------------+ | 1999-12-14 07:29:15 | +---------------------------------------+
Voorbeeld 7 – De huidige datum gebruiken
Als je een tijdstempel wilt dat de huidige datum gebruikt, ben je misschien meer geïnteresseerd in functies zoals NOW()
, CURDATE()
, en mogelijk zelfs SYSDATE()
(voor het verschil, zie SYSDATE()
vs NOW()
).
Echter, de TIMESTAMP()
functie kan in bepaalde gevallen nog steeds uw voorkeursfunctie zijn, bijvoorbeeld als u een tijdwaarde aan de huidige datum wilt toevoegen.
SELECT TIMESTAMP(CURDATE()) AS 'Today', TIMESTAMP(CURDATE(), '24:00:00') AS 'Tomorrow';
Resultaat:
+---------------------+---------------------+ | Today | Tomorrow | +---------------------+---------------------+ | 2018-07-03 00:00:00 | 2018-07-04 00:00:00 | +---------------------+---------------------+
De TIMESTAMPADD()-functie
U kunt de TIMESTAMPADD()
. gebruiken functie om een gespecificeerde eenheid toe te voegen aan een datum- of datetime-waarde. Deze functie accepteert ook eenheden zoals dagen, maanden, jaren enz.
Als u TIMESTAMP()
. vindt te beperkend voor uw behoeften, zie TIMESTAMPADD()
Voorbeelden.