No MariaDB,
TO_DAYS()
é uma função de data e hora integrada que retorna o número de dias desde o início do calendário padrão (0000-00-00), com base em uma determinada data. Você passa a data para a função quando a chama.
O
TO_DAYS()
função é o inverso do FROM_DAYS()
função. Sintaxe
A sintaxe fica assim:
TO_DAYS(date)
Onde
date
é a data para a qual retornar o número de dias desde 0000-00-00. Exemplo
Aqui está um exemplo:
SELECT TO_DAYS('2028-12-31');
Resultado:
+-----------------------+ | TO_DAYS('2028-12-31') | +-----------------------+ | 741077 | +-----------------------+
Com base na data de hoje
Aqui está um exemplo que usa
NOW()
para retornar o número de dias entre 0000-00-00 e hoje:SELECT
NOW(),
TO_DAYS(NOW());
Resultado:
+---------------------+----------------+ | NOW() | TO_DAYS(NOW()) | +---------------------+----------------+ | 2021-05-23 09:56:45 | 738298 | +---------------------+----------------+
Argumentos inválidos
Quando passado um argumento inválido,
TO_DAYS()
retorna NULL
com um aviso:SELECT TO_DAYS('Oops!');
Resultado:
+------------------+ | TO_DAYS('Oops!') | +------------------+ | NULL | +------------------+ 1 row in set, 1 warning (0.000 sec)
Confira o aviso:
SHOW WARNINGS;
Resultado:
+---------+------+-----------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------+ | Warning | 1292 | Incorrect datetime value: 'Oops!' | +---------+------+-----------------------------------+
Argumento ausente
Chamando
TO_DAYS()
com o número errado de argumentos, ou sem passar nenhum argumento, resulta em um erro:SELECT TO_DAYS();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_DAYS'
E outro exemplo:
SELECT TO_DAYS( '2028-12-31', '2029-12-31' );
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_DAYS'
Calendário Pré-Gregoriano
O
TO_DAYS()
A função não foi projetada para uso com datas anteriores ao advento do calendário gregoriano (que foi introduzido em outubro de 1582). Os resultados não serão confiáveis, pois não contabilizam os dias perdidos quando o calendário mudou do calendário juliano.