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

Jak odjąć godziny od wartości daty i godziny w MariaDB?

Oto kilka opcji odejmowania jednej lub więcej godzin od wartości daty i godziny w MariaDB.

SUBTIME() Funkcja

SUBTIME() odejmuje określoną ilość czasu od wartości czasu lub daty i godziny.

Przykład:

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

Wynik:

+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '01:00:00') |
+--------------------------------------------+
| 2021-05-01 09:00:00                        |
+--------------------------------------------+

Możesz także zmienić inne jednostki czasu, takie jak minuty, sekundy itp.

DATE_SUB() Funkcja

DATE_SUB() Funkcja pozwala odjąć określoną liczbę jednostek daty/czasu od wyrażenia daty lub daty i godziny. Dlatego możemy użyć tej funkcji do zwrócenia wartości daty i godziny pomniejszonej o określoną liczbę godzin.

Przykład:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 1 HOUR);

Wynik:

+--------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 1 HOUR) |
+--------------------------------------------------+
| 2021-05-01 09:00:00                              |
+--------------------------------------------------+

Możesz także użyć złożonych jednostek daty i godziny. Na przykład możesz robić godziny i minuty za jednym razem.

Przykład:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' HOUR_MINUTE);

Wynik:

+---------------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' HOUR_MINUTE) |
+---------------------------------------------------------------+
| 2021-04-30 18:30:00                                           |
+---------------------------------------------------------------+

Przejście samej daty

Oto, co się stanie, jeśli podamy tylko wartość daty:

SELECT DATE_SUB('2021-05-01', INTERVAL 1 HOUR);

Wynik:

+-----------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 1 HOUR) |
+-----------------------------------------+
| 2021-04-30 23:00:00                     |
+-----------------------------------------+

Zakłada, że ​​czas zaczyna się o 00:00:00, więc HOUR kwota jest od tego odejmowana.

Wiele godzin

Jeśli potrzebujesz odjąć więcej niż godzinę, użyj tej liczby zamiast 1 . Jednak HOUR słowo kluczowe pozostaje w liczbie różnej niezależnie od:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 2 HOUR);

Wynik:

+--------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 2 HOUR) |
+--------------------------------------------------+
| 2021-05-01 08:00:00                              |
+--------------------------------------------------+

Operator odejmowania (- )

Innym sposobem odejmowania godzin od wyrażenia daty i godziny jest użycie operatora odejmowania (- ), znany również jako operator minus.

Przykład:

SELECT '2021-05-01 10:00:00' - INTERVAL 48 HOUR;

Wynik:

+------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL 48 HOUR |
+------------------------------------------+
| 2021-04-29 10:00:00                      |
+------------------------------------------+

Operator dodawania (+ )

Możesz alternatywnie użyć operatora dodawania (+ ) wraz z kwotą ujemną.

Przykład:

SELECT '2021-05-01 10:00:00' + INTERVAL -48 HOUR;

Wynik:

+-------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL -48 HOUR |
+-------------------------------------------+
| 2021-04-29 10:00:00                       |
+-------------------------------------------+

Inne sposoby odejmowania godzin

Oto kilka innych metod, których możesz użyć, aby odjąć jedną lub więcej godzin od wartości daty i godziny:

  • ADDTIME() funkcja (podanie kwoty ujemnej spowoduje odjęcie tej kwoty od wartości daty/godziny).
  • SUBDATE() funkcja (jest to synonim DATE_SUB() gdy jest używany z tą samą składnią).
  • DATE_ADD() funkcja (podanie kwoty ujemnej spowoduje odjęcie tej kwoty od wartości daty/godziny).
  • ADDDATE() funkcja (podanie kwoty ujemnej spowoduje odjęcie tej kwoty od wartości daty/godziny).

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tworzenie zimnej gotowości bazy danych MySQL lub MariaDB na Amazon AWS

  2. Jak zaplanować tworzenie kopii zapasowych bazy danych za pomocą ClusterControl

  3. MariaDB wprowadza funkcję JSON_TABLE()

  4. Wybierz wszystko przed lub po określonej postaci w MariaDB

  5. Jak zautomatyzować przełączanie awaryjne bazy danych za pomocą ClusterControl