sql >> Base de Datos >  >> RDS >> Mysql

FROM_DAYS() Ejemplos – MySQL

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() ).