En MySQL, el FROM_DAYS()
La función devuelve un valor de fecha basado en el número de días proporcionado como argumento.
Este artículo contiene ejemplos para demostrar.
Sintaxis
La sintaxis es así:
FROM_DAYS(N)
Donde N
es el número de días desde el día 0 .
Ejemplo
Aquí hay un ejemplo para demostrarlo.
SELECT FROM_DAYS(366);
Resultado:
+----------------+ | FROM_DAYS(366) | +----------------+ | 0001-01-01 | +----------------+
Aunque tenga en cuenta que la documentación de MySQL advierte que esta función no está diseñada para usarse con valores que preceden al advenimiento del calendario gregoriano (1582).
Aquí hay un ejemplo con una fecha posterior:
SELECT FROM_DAYS(645000);
Resultado:
+-------------------+ | FROM_DAYS(645000) | +-------------------+ | 1765-12-13 | +-------------------+
Y una fecha posterior de nuevo:
SELECT FROM_DAYS(745000);
Resultado:
+-------------------+ | FROM_DAYS(745000) | +-------------------+ | 2039-09-28 | +-------------------+
FROM_DAYS() frente a TO_DAYS()
El FROM_DAYS()
la función es lo contrario de TO_DAYS()
, que, dada una fecha fecha, devuelve el número de día. Aquí hay un ejemplo para demostrar la relación entre estas dos funciones:
SELECT CURDATE(), TO_DAYS(CURDATE()), FROM_DAYS(TO_DAYS(CURDATE()));
Resultado:
+------------+--------------------+-------------------------------+ | CURDATE() | TO_DAYS(CURDATE()) | FROM_DAYS(TO_DAYS(CURDATE())) | +------------+--------------------+-------------------------------+ | 2018-06-26 | 737236 | 2018-06-26 | +------------+--------------------+-------------------------------+
Así que en este ejemplo uso TO_DAYS()
para devolver el número de días a partir de la fecha actual. Luego uso FROM_DAYS()
para devolver la fecha de ese valor (que, como se esperaba, se resuelve de nuevo en el valor original de CURDATE()
).