В 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 г.). Резултатите няма да са надеждни, тъй като не отчитат загубените дни, когато календарът е сменен от юлианския.