En MariaDB, TO_DAYS()
es una función de fecha y hora integrada que devuelve el número de días desde el inicio del calendario estándar (0000-00-00), en función de una fecha determinada.
Pasas la fecha a la función cuando la llamas.
El TO_DAYS()
la función es la inversa de FROM_DAYS()
función.
Sintaxis
La sintaxis es así:
TO_DAYS(date)
Donde date
es la fecha para la que se devuelve el número de días desde 0000-00-00.
Ejemplo
He aquí un ejemplo:
SELECT TO_DAYS('2028-12-31');
Resultado:
+-----------------------+ | TO_DAYS('2028-12-31') | +-----------------------+ | 741077 | +-----------------------+
Basado en la fecha de hoy
Aquí hay un ejemplo que usa NOW()
para devolver el número de días entre 0000-00-00 y hoy:
SELECT
NOW(),
TO_DAYS(NOW());
Resultado:
+---------------------+----------------+ | NOW() | TO_DAYS(NOW()) | +---------------------+----------------+ | 2021-05-23 09:56:45 | 738298 | +---------------------+----------------+
Argumentos no válidos
Cuando se pasa un argumento no válido, TO_DAYS()
devuelve NULL
con una advertencia:
SELECT TO_DAYS('Oops!');
Resultado:
+------------------+ | TO_DAYS('Oops!') | +------------------+ | NULL | +------------------+ 1 row in set, 1 warning (0.000 sec)
Compruebe la advertencia:
SHOW WARNINGS;
Resultado:
+---------+------+-----------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------+ | Warning | 1292 | Incorrect datetime value: 'Oops!' | +---------+------+-----------------------------------+
Argumento faltante
Llamando a TO_DAYS()
con el número incorrecto de argumentos, o sin pasar ningún argumento, da como resultado un error:
SELECT TO_DAYS();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_DAYS'
Y otro ejemplo:
SELECT TO_DAYS( '2028-12-31', '2029-12-31' );
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_DAYS'
Calendario pregregoriano
El TO_DAYS()
La función no está diseñada para usarse con fechas anteriores al advenimiento del calendario gregoriano (que se introdujo en octubre de 1582). Los resultados no serán confiables ya que no tienen en cuenta los días perdidos cuando el calendario cambió del calendario juliano.