MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Как TO_DAYS() работи в MariaDB

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как TIMESTAMPADD() работи в MariaDB

  2. MariaDB JSON_ARRAYAGG() Обяснено

  3. MariaDB CURRENT_TIMESTAMP() Обяснено

  4. Въведение в пълнотекстово търсене в MariaDB

  5. Функция AVG() в MariaDB