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

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

В MariaDB, DATEDIFF() е вградена функция за дата и час, която връща разликата в дни между две дати.

Той приема два аргумента, като и двата са изрази за дата или време. След това изважда втората дата от първата.

Синтаксис

Синтаксисът е така:

DATEDIFF(expr1,expr2)

След това връща expr1 - expr2 .

Пример

Ето един пример:

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

Резултат:

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

Ето го отново, но с разменени дати:

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

Резултат:

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

Стойности за дата и час

Ето пример, който използва стойности за дата и час:

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

Резултат:

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

Ето още един пример:

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

Резултат:

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

В този случай, въпреки че беше почти цял ден, не беше съвсем, така че резултатът е 0 .

Текуща дата

Тук предаваме NOW() като втори аргумент:

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

Резултат:

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

В този случай между сега и втората дата има 3177 дни.

Невалидни аргументи

Когато се подадат невалидни аргументи, DATEDIFF() връща null :

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

Резултат:

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

Липсващ аргумент

Извикване на DATEDIFF() грешен брой аргументи или без предаване на аргументи води до грешка:

SELECT DATEDIFF();

Резултат:

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

И:

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

Резултат:

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. MariaDB SYSTEM_USER() Обяснено

  2. 3 начина да получите съпоставяне на колона в MariaDB

  3. Какво представляват временните таблици на MariaDB?

  4. Как работи LENGTH() в MariaDB

  5. Как да наблюдавате MySQL контейнери с Prometheus - внедряване на самостоятелен и рояк::Част първа