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

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

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

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

Синтаксис

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

SUBTIME(expr1,expr2)

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

Пример

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

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

Резултат:

+---------------------------------+
| SUBTIME('10:00:00', '02:30:45') |
+---------------------------------+
| 07:29:15                        |
+---------------------------------+

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

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

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

Резултат:

+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '22:30:45') |
+--------------------------------------------+
| 2021-04-30 11:29:15                        |
+--------------------------------------------+

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

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

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

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

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

Резултат:

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

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

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

Пример:

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

Резултат:

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

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

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

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

Резултат:

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

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

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

SELECT SUBTIME();

Резултат:

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

  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 базата данни

  2. Справяне с проблеми с репликацията на MySQL с помощта на ClusterControl

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

  4. MariaDB LOCALTIME() Обяснено

  5. Управление на потребителите на база данни:Управляващи роли за MariaDB