MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak TO_DAYS() działa w MariaDB?

W MariaDB, TO_DAYS() to wbudowana funkcja daty i czasu, która zwraca liczbę dni od początku standardowego kalendarza (0000-00-00) na podstawie podanej daty.

Datę przekazujesz do funkcji, kiedy ją wywołujesz.

TO_DAYS() funkcja jest odwrotnością funkcji FROM_DAYS() funkcja.

Składnia

Składnia wygląda tak:

TO_DAYS(date)

Gdzie date to data, dla której należy zwrócić liczbę dni od 0000-00-00.

Przykład

Oto przykład:

SELECT TO_DAYS('2028-12-31');

Wynik:

+-----------------------+
| TO_DAYS('2028-12-31') |
+-----------------------+
|                741077 |
+-----------------------+

Na podstawie dzisiejszej daty

Oto przykład, który używa NOW() aby zwrócić liczbę dni od 0000-00-00 do dzisiaj:

SELECT
    NOW(),
    TO_DAYS(NOW());

Wynik:

+---------------------+----------------+
| NOW()               | TO_DAYS(NOW()) |
+---------------------+----------------+
| 2021-05-23 09:56:45 |         738298 |
+---------------------+----------------+

Nieprawidłowe argumenty

Po przekazaniu nieprawidłowego argumentu TO_DAYS() zwraca NULL z ostrzeżeniem:

SELECT TO_DAYS('Oops!');

Wynik:

+------------------+
| TO_DAYS('Oops!') |
+------------------+
|             NULL |
+------------------+
1 row in set, 1 warning (0.000 sec)

Sprawdź ostrzeżenie:

SHOW WARNINGS;

Wynik:

+---------+------+-----------------------------------+
| Level   | Code | Message                           |
+---------+------+-----------------------------------+
| Warning | 1292 | Incorrect datetime value: 'Oops!' |
+---------+------+-----------------------------------+

Brakujący argument

Wywołanie TO_DAYS() z niewłaściwą liczbą argumentów lub bez przekazywania jakichkolwiek argumentów powoduje błąd:

SELECT TO_DAYS();

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_DAYS'

I kolejny przykład:

SELECT TO_DAYS( '2028-12-31', '2029-12-31' );

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_DAYS'

Kalendarz przed gregoriański

TO_DAYS() funkcja nie jest przeznaczona do użytku z datami sprzed nadejścia kalendarza gregoriańskiego (który został wprowadzony w październiku 1582 r.). Wyniki nie będą wiarygodne, ponieważ nie uwzględniają dni straconych, kiedy kalendarz zmienił się z kalendarza juliańskiego.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 sposoby na uzyskanie zestawów znaków dostępnych w MariaDB

  2. Jak SIN() działa w MariaDB

  3. MariaDB BENCHMARK() Objaśnienie

  4. Historie transformacji na konferencji MariaDB OpenWorks

  5. Jak OCT() działa w MariaDB