MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Comment soustraire des minutes d'une valeur Datetime dans MariaDB

Voici quelques options pour soustraire une ou plusieurs minutes d'une expression datetime dans MariaDB.

Le SUBTIME() Fonction

Le SUBTIME() soustrait une durée donnée d'une valeur d'heure ou de date/heure.

Exemple :

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

Résultat :

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

Vous pouvez également modifier les autres unités de temps, telles que les heures, les secondes, etc.

Le DATE_SUB() Fonction

Le DATE_SUB() permet de soustraire un certain nombre d'unités date/heure d'une expression date ou datetime. Par conséquent, nous pouvons utiliser cette fonction pour renvoyer la valeur datetime, moins un certain nombre de minutes.

Exemple :

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

Résultat :

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

Notez que la MINUTE le mot-clé reste non pluriel, que nous soustrayions une minute ou plus.

Vous pouvez également utiliser des unités de date et d'heure composites. Par exemple, vous pouvez calculer les minutes et les secondes en une seule fois.

Exemple :

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

Résultat :

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

Passer juste la date

Voici ce qui se passe si nous fournissons juste une valeur de date au DATE_SUB() fonction :

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

Résultat :

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

Il suppose que l'heure commence à 00:00:00, et donc la MINUTE le montant en est soustrait.

L'opérateur de soustraction (- )

Une autre façon de soustraire une ou plusieurs minutes d'une valeur datetime consiste à utiliser l'opérateur de soustraction (- ), également connu sous le nom d'opérateur moins.

Exemple :

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

Résultat :

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

L'opérateur d'addition (+ )

Vous pouvez également utiliser l'opérateur d'addition (+ ) avec un montant négatif.

Exemple :

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

Résultat :

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

Autres façons de soustraire des minutes

Voici quelques autres approches que vous pouvez utiliser pour soustraire une ou plusieurs minutes d'une valeur datetime :

  • Le ADDTIME() fonction (fournir un montant négatif soustraira ce montant de la valeur datetime).
  • Le SUBDATE() fonction (c'est un synonyme de DATE_SUB() lorsqu'il est utilisé avec la même syntaxe).
  • Le DATE_ADD() fonction (fournir un montant négatif soustraira ce montant de la valeur datetime).
  • Le ADDDATE() fonction (fournir un montant négatif soustraira ce montant de la valeur datetime).