En MySQL, puede usar TO_DAYS()
función para averiguar cuántos días han pasado desde el día 0 para una fecha en particular. Por ejemplo, puede pasar la fecha de hoy a esta función y devolverá cuántos días han pasado desde el día 0 .
Este artículo contiene ejemplos para demostrar.
Sintaxis
La sintaxis es así:
TO_DAYS(date)
Donde date
es la fecha a utilizar en el cálculo.
Ejemplo
Aquí hay un ejemplo para demostrarlo.
SELECT TO_DAYS('1999-12-31');
Resultado:
+-----------------------+ | TO_DAYS('1999-12-31') | +-----------------------+ | 730484 | +-----------------------+
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). Esto se debe a que no tiene en cuenta los días que se perdieron cuando se cambió el calendario.
Ejemplo 2:fecha actual
Aquí hay un ejemplo usando la fecha actual.
SELECT CURDATE(), TO_DAYS(CURDATE());
Resultado:
+------------+--------------------+ | CURDATE() | TO_DAYS(CURDATE()) | +------------+--------------------+ | 2018-06-26 | 737236 | +------------+--------------------+
Primero, uso el CURDATE()
función para devolver la fecha actual, luego paso esa función a TO_DAYS()
función para devolver el número de días que ha pasado desde el día 0 .
TO_DAYS() frente a FROM_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()
).