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

Exemplos de TO_DAYS() – MySQL


No MySQL, você pode usar o TO_DAYS() função para descobrir quantos dias se passaram desde o dia 0 para uma determinada data. Por exemplo, você pode passar a data de hoje para esta função e ela retornará quantos dias se passaram desde o dia 0 .

Este artigo contém exemplos para demonstrar.


Sintaxe


A sintaxe fica assim:
TO_DAYS(date)

Onde date é a data a ser usada no cálculo.

Exemplo


Aqui está um exemplo para demonstrar.
SELECT TO_DAYS('1999-12-31');

Resultado:
+-----------------------+
| TO_DAYS('1999-12-31') |
+-----------------------+
|                730484 |
+-----------------------+

Observe 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). Isso porque não leva em consideração os dias que foram perdidos quando o calendário foi alterado.

Exemplo 2 - Data atual


Aqui está um exemplo usando a data atual.
SELECT 
    CURDATE(),
    TO_DAYS(CURDATE());

Resultado:
+------------+--------------------+
| CURDATE()  | TO_DAYS(CURDATE()) |
+------------+--------------------+
| 2018-06-26 |             737236 |
+------------+--------------------+

Primeiro, eu uso o CURDATE() função para retornar a data atual, então eu passo essa função para o TO_DAYS() função para retornar o número de dias desde o dia 0 .

TO_DAYS() vs FROM_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() ).