sql >> Database >  >> RDS >> MariaDB

Minuten aftrekken van een datetime-waarde in MariaDB

Hier zijn enkele opties voor het aftrekken van een of meer minuten van een datetime-expressie in MariaDB.

De SUBTIME() Functie

De SUBTIME() trekt een bepaalde hoeveelheid tijd af van een tijd- of datetime-waarde.

Voorbeeld:

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

Resultaat:

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

U kunt ook de andere tijdseenheden wijzigen, zoals uren, seconden, enz.

De DATE_SUB() Functie

De DATE_SUB() Met deze functie kunt u een bepaald aantal datum/tijd-eenheden aftrekken van een datum- of datetime-uitdrukking. Daarom kunnen we deze functie gebruiken om de datetime-waarde te retourneren, minus een bepaald aantal minuten.

Voorbeeld:

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

Resultaat:

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

Merk op dat de MINUTE zoekwoord blijft niet-meervoud, ongeacht of we één minuut of meer aftrekken.

U kunt ook samengestelde datum- en tijdseenheden gebruiken. U kunt bijvoorbeeld minuten en seconden in één keer doen.

Voorbeeld:

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

Resultaat:

+-----------------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND) |
+-----------------------------------------------------------------+
| 2021-05-01 09:44:30                                             |
+-----------------------------------------------------------------+

Alleen de datum doorgeven

Dit is wat er gebeurt als we alleen een datumwaarde geven aan de DATE_SUB() functie:

SELECT DATE_SUB('2021-05-01', INTERVAL 30 MINUTE);

Resultaat:

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

Het gaat ervan uit dat de tijd begint om 00:00:00, en dus de MINUTE het bedrag wordt daarvan afgetrokken.

De aftrekkingsoperator (- )

Een andere manier om een ​​of meer minuten van een datetime-waarde af te trekken, is door de aftrekkingsoperator te gebruiken (- ), ook wel de min-operator genoemd.

Voorbeeld:

SELECT '2021-05-01 10:00:00' - INTERVAL 30 MINUTE;

Resultaat:

+--------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL 30 MINUTE |
+--------------------------------------------+
| 2021-05-01 09:30:00                        |
+--------------------------------------------+

De toevoegingsoperator (+ )

U kunt ook de opteloperator gebruiken (+ ) samen met een negatief bedrag.

Voorbeeld:

SELECT '2021-05-01 10:00:00' + INTERVAL -30 MINUTE;

Resultaat:

+---------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL -30 MINUTE |
+---------------------------------------------+
| 2021-05-01 09:30:00                         |
+---------------------------------------------+

Andere manieren om minuten af ​​te trekken

Hier zijn enkele andere benaderingen die u zou kunnen gebruiken om een ​​of meer minuten van een datetime-waarde af te trekken:

  • De ADDTIME() functie (als u een negatief bedrag opgeeft, wordt dat bedrag afgetrokken van de datetime-waarde).
  • De SUBDATE() functie (dit is een synoniem voor DATE_SUB() wanneer gebruikt met dezelfde syntaxis).
  • De DATE_ADD() functie (als u een negatief bedrag opgeeft, wordt dat bedrag afgetrokken van de datetime-waarde).
  • De ADDDATE() functie (als u een negatief bedrag opgeeft, wordt dat bedrag afgetrokken van de datetime-waarde).

  1. Een lijst met database-e-mailaccounts krijgen in SQL Server (T-SQL)

  2. SQL Server In-Memory OLTP:de basis

  3. WAARSCHUWING:Office-versie 2204 kan Access-toepassingen breken

  4. Hoe VARCHAR(MAX) afdrukken met Print Statement?