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

Jak SUBTIME() działa w MariaDB

W MariaDB, SUBTIME() to wbudowana funkcja daty i godziny, która odejmuje kwotę od wyrażenia godziny lub daty i godziny.

Umożliwia zmianę wyrażenia godziny lub daty i godziny przez przekazanie tego wyrażenia, a także wyrażenia godziny do odjęcia od tego wyrażenia. Możesz przekazać kwotę ujemną, jeśli chcesz dodać do wyrażenia czasu.

Składnia

Składnia wygląda tak:

SUBTIME(expr1,expr2)

Gdzie expr1 jest wyrażeniem czasu lub daty i godziny, a expr2 jest wyrażeniem czasu.

Przykład

Oto przykład:

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

Wynik:

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

Wyrażenia daty i godziny

Pierwszy argument może być również wyrażeniem daty i godziny:

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

Wynik:

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

W tym przypadku odjęto wystarczającą ilość czasu, aby cofnąć datę do poprzedniego dnia i miesiąca.

Wyrażenia czasowe w luźniejszym formacie

MariaDB umożliwia przypisanie czasów w luźniejszych formatach, takich jak pominięcie wiodących zer i podanie wartości dla dnia.

Dlatego możemy to zrobić:

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

Wynik:

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

Przedziały ujemne

Zapewnienie ujemnego interwału dla porcji dnia dodaje jest to godzina/data i godzina.

Przykład:

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

Wynik:

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

Argumenty zerowe

Jeśli jakikolwiek argument ma wartość null , wynik to null :

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

Wynik:

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

Brakujący argument

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

SELECT SUBTIME();

Wynik:

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. MariaDB 10.6 i NextCloud:COMPRESSED Row jest domyślnie tylko do odczytu

  2. Maksymalizacja wydajności zapytań do bazy danych dla MySQL — część druga

  3. Ustaw zestaw znaków i sortowanie tabeli w MariaDB

  4. Jak działa funkcja CONVERT() w MariaDB

  5. Jak ADDTIME() działa w MariaDB