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

Jak działa DATEDIFF() w MariaDB

W MariaDB, DATEDIFF() to wbudowana funkcja daty i czasu, która zwraca różnicę w dniach między dwiema datami.

Przyjmuje dwa argumenty, z których oba są wyrażeniami daty lub daty i godziny. Następnie odejmuje drugą datę od pierwszej.

Składnia

Składnia wygląda tak:

DATEDIFF(expr1,expr2)

Następnie zwraca expr1 - expr2 .

Przykład

Oto przykład:

SELECT DATEDIFF('2030-01-25', '2030-01-20');

Wynik:

+--------------------------------------+
| DATEDIFF('2030-01-25', '2030-01-20') |
+--------------------------------------+
|                                    5 |
+--------------------------------------+

Oto znowu, ale z zamienionymi datami:

SELECT DATEDIFF('2030-01-20', '2030-01-25');

Wynik:

+--------------------------------------+
| DATEDIFF('2030-01-20', '2030-01-25') |
+--------------------------------------+
|                                   -5 |
+--------------------------------------+

Wartości daty i godziny

Oto przykład wykorzystujący wartości daty i godziny:

SELECT DATEDIFF('2030-01-25 00:00:00', '2030-01-20 23:59:59');

Wynik:

+--------------------------------------------------------+
| DATEDIFF('2030-01-25 00:00:00', '2030-01-20 23:59:59') |
+--------------------------------------------------------+
|                                                      5 |
+--------------------------------------------------------+

Oto kolejny przykład:

SELECT DATEDIFF('2030-01-25 00:00:00', '2030-01-25 23:59:59');

Wynik:

+--------------------------------------------------------+
| DATEDIFF('2030-01-25 00:00:00', '2030-01-25 23:59:59') |
+--------------------------------------------------------+
|                                                      0 |
+--------------------------------------------------------+

W tym przypadku, mimo że był to prawie cały dzień, nie był całkiem, więc wynik to 0 .

Aktualna data

Tutaj przekazujemy NOW() jako drugi argument:

SELECT 
    NOW(),
    DATEDIFF('2030-01-20', NOW());

Wynik:

+---------------------+-------------------------------+
| NOW()               | DATEDIFF('2030-01-20', NOW()) |
+---------------------+-------------------------------+
| 2021-05-10 10:03:08 |                          3177 |
+---------------------+-------------------------------+

W tym przypadku od teraz do drugiej daty jest 3177 dni.

Nieprawidłowe argumenty

Po przekazaniu jakichkolwiek nieprawidłowych argumentów, DATEDIFF() zwraca null :

SELECT DATEDIFF('Homer', 'Simpson');

Wynik:

+------------------------------+
| DATEDIFF('Homer', 'Simpson') |
+------------------------------+
|                         NULL |
+------------------------------+

Brakujący argument

Wywołanie DATEDIFF() nieprawidłowa liczba argumentów lub bez przekazywania żadnych argumentów skutkuje błędem:

SELECT DATEDIFF();

Wynik:

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

Oraz:

SELECT DATEDIFF('2030-05-21');

Wynik:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa UPPER() w MariaDB

  2. Ustaw zestaw znaków i sortowanie bazy danych w MariaDB

  3. Wydajność sterownika złącza Java MariaDB

  4. Jak działa LOG() w MariaDB

  5. Odejmij sekundy od wartości daty i godziny w MariaDB