I MySQL, FROM_DAYS()
funktion returnerar ett datumvärde baserat på antalet dagar som anges som argument.
Den här artikeln innehåller exempel att visa.
Syntax
Syntaxen ser ut så här:
FROM_DAYS(N)
Där N
är antalet dagar från dag 0 .
Exempel
Här är ett exempel att visa.
SELECT FROM_DAYS(366);
Resultat:
+----------------+ | FROM_DAYS(366) | +----------------+ | 0001-01-01 | +----------------+
Observera dock att MySQL-dokumentationen rekommenderar att den här funktionen inte är avsedd att användas med värden som föregår tillkomsten av den gregorianska kalendern (1582).
Här är ett exempel med ett senare datum:
SELECT FROM_DAYS(645000);
Resultat:
+-------------------+ | FROM_DAYS(645000) | +-------------------+ | 1765-12-13 | +-------------------+
Och ett senare datum igen:
SELECT FROM_DAYS(745000);
Resultat:
+-------------------+ | FROM_DAYS(745000) | +-------------------+ | 2039-09-28 | +-------------------+
FROM_DAYS() kontra TO_DAYS()
FROM_DAYS()
funktion är motsatsen till TO_DAYS()
, som, givet ett datumdatum, returnerar dagnumret. Här är ett exempel för att visa sambandet mellan dessa två funktioner:
SELECT CURDATE(), TO_DAYS(CURDATE()), FROM_DAYS(TO_DAYS(CURDATE()));
Resultat:
+------------+--------------------+-------------------------------+ | CURDATE() | TO_DAYS(CURDATE()) | FROM_DAYS(TO_DAYS(CURDATE())) | +------------+--------------------+-------------------------------+ | 2018-06-26 | 737236 | 2018-06-26 | +------------+--------------------+-------------------------------+
Så i det här exemplet använder jag TO_DAYS()
för att returnera antalet dagar från det aktuella datumet. Jag använder sedan FROM_DAYS()
för att returnera datumet från det värdet (som, som förväntat, återgår till det ursprungliga värdet för CURDATE()
).