Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Exemplos de FROM_DAYS() – MySQL


No MySQL, o FROM_DAYS() A função retorna um valor de data com base no número de dias fornecido como argumento.

Este artigo contém exemplos para demonstrar.


Sintaxe


A sintaxe fica assim:
FROM_DAYS(N)

Onde N é o número de dias a partir do dia 0 .

Exemplo


Aqui está um exemplo para demonstrar.
SELECT FROM_DAYS(366);

Resultado:
+----------------+
| FROM_DAYS(366) |
+----------------+
| 0001-01-01     |
+----------------+

Embora note que a documentação do MySQL informa que esta função não se destina ao uso com valores que precedem o advento do calendário gregoriano (1582).

Aqui está um exemplo com uma data posterior:
SELECT FROM_DAYS(645000);

Resultado:
+-------------------+
| FROM_DAYS(645000) |
+-------------------+
| 1765-12-13        |
+-------------------+

E uma data posterior novamente:
SELECT FROM_DAYS(745000);

Resultado:
+-------------------+
| FROM_DAYS(745000) |
+-------------------+
| 2039-09-28        |
+-------------------+


FROM_DAYS() vs TO_DAYS()


O FROM_DAYS() função é o oposto de TO_DAYS() , que, dada uma data data, retorna o número do dia. Aqui está um exemplo para demonstrar a relação entre essas duas funções:
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                    |
+------------+--------------------+-------------------------------+

Então neste exemplo eu uso TO_DAYS() para retornar o número de dias a partir da data atual. Eu então uso FROM_DAYS() para retornar a data desse valor (que, como esperado, retorna ao valor original de CURDATE() ).