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

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

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

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

Синтаксис

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

ADDTIME(expr1,expr2)

Където expr1 е израз за време или дата и час и expr2 е времеви израз.

Пример

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

SELECT ADDTIME('10:00:00', '02:30:45');

Резултат:

+---------------------------------+
| ADDTIME('10:00:00', '02:30:45') |
+---------------------------------+
| 12:30:45                        |
+---------------------------------+

Изрази за дата и час

Първият аргумент може също да бъде израз за дата и час:

SELECT ADDTIME('2021-05-01 10:00:00', '22:30:45');

Резултат:

+--------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '22:30:45') |
+--------------------------------------------+
| 2021-05-02 08:30:45                        |
+--------------------------------------------+

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

Изрази за време в по-свободен формат

MariaDB позволява присвояване на времена в по-свободни формати, като например премахване на водещи нули и предоставяне на стойност за деня.

Следователно можем да направим това:

SELECT ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456');

Резултат:

+----------------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456') |
+----------------------------------------------------+
| 2022-05-02 11:01:01.123456                         |
+----------------------------------------------------+

Отрицателни интервали

Предоставянето на отрицателен интервал за дневната част изважда тази сума от часа/датата и часа.

Пример:

SELECT ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');

Резултат:

+-----------------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') |
+-----------------------------------------------------+
| 2020-04-30 08:58:58.876544                          |
+-----------------------------------------------------+

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

Ако някой аргумент е null , резултатът е null :

SELECT 
    ADDTIME('10:00:00', null),
    ADDTIME(null, '02:30:45'),
    ADDTIME(null, null);

Резултат:

+---------------------------+---------------------------+---------------------+
| ADDTIME('10:00:00', null) | ADDTIME(null, '02:30:45') | ADDTIME(null, null) |
+---------------------------+---------------------------+---------------------+
| NULL                      | NULL                      | NULL                |
+---------------------------+---------------------------+---------------------+

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

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

SELECT ADDTIME();

Резултат:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да замените междинен MySQL или MariaDB Master с Binlog сървър с помощта на MaxScale

  2. Как работи MINUTE() в MariaDB

  3. Надстройките с нулев престой стават лесни с ClusterControl

  4. Създайте таблица само ако тя не съществува в MariaDB

  5. Защо моята MySQL база данни се срине? Получете прозрения с новата MySQL Freeze Frame