В MariaDB, TO_DAYS() е вградена функция за дата и час, която връща броя дни от началото на стандартния календар (0000-00-00) въз основа на дадена дата.
Вие предавате датата на функцията, когато я извикате.
TO_DAYS() функцията е обратната на FROM_DAYS() функция.
Синтаксис
Синтаксисът е така:
TO_DAYS(date)
Където date е датата, за която да се върне броят на дните от 0000-00-00.
Пример
Ето един пример:
SELECT TO_DAYS('2028-12-31'); Резултат:
<пред>+-----------------------+| TO_DAYS('2028-12-31') |+-----------------------+| 741077 |+-----------------------+Въз основа на днешна дата
Ето пример, който използва NOW() за да върнете броя на дните между 0000-00-00 и днес:
SELECT
NOW(),
TO_DAYS(NOW()); Резултат:
+---------------------+----------------+| СЕГА() | ДО_ДНИ(СЕГА()) |+---------------------+----------------+| 23.05.2021 09:56:45 | 738298 |+---------------------+----------------+
Невалидни аргументи
Когато се подаде невалиден аргумент, TO_DAYS() връща NULL с предупреждение:
SELECT TO_DAYS('Oops!'); Резултат:
+-----------------+| TO_DAYS('Ами сега!') |+------------------+| NULL |+------------------+1 ред в комплект, 1 предупреждение (0,000 сек) Проверете предупреждението:
SHOW WARNINGS; Резултат:
+--------+------+---------------------------- ------+| Ниво | Код | Съобщение |+---------+------+------------------------------ -----+| Предупреждение | 1292 | Неправилна стойност за дата и час:„Ами сега!“ |+---------+------+------------------------------ ----+
Липсващ аргумент
Извикване на TO_DAYS() с грешен брой аргументи или без подаване на аргументи, води до грешка:
SELECT TO_DAYS(); Резултат:
ГРЕШКА 1582 (42000):Неправилен брой на параметрите в извикването на естествената функция „TO_DAYS“
И още един пример:
SELECT TO_DAYS( '2028-12-31', '2029-12-31' ); Резултат:
ГРЕШКА 1582 (42000):Неправилен брой на параметрите в извикването на естествената функция „TO_DAYS“
Предгригориански календар
TO_DAYS() функцията не е предназначена за използване с дати преди появата на григорианския календар (който е въведен през октомври 1582 г.). Резултатите няма да са надеждни, тъй като не отчитат загубените дни, когато календарът е сменен от юлианския.