MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Como TO_DAYS() funciona no MariaDB


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.