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