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

Soustraire des secondes d'une valeur Datetime dans MariaDB

Voici quelques options pour soustraire une ou plusieurs secondes 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:00:30');

Résultat :

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

Vous pouvez également modifier les autres unités de temps, telles que les heures, les minutes, 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 secondes.

Exemple :

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

Résultat :

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

Notez que la SECOND le mot-clé reste non pluriel, que vous soustrayiez une seconde 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 ne fournissons qu'une valeur de date :

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

Résultat :

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

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

L'opérateur de soustraction (- )

Une autre façon de soustraire une ou plusieurs secondes 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 SECOND;

Résultat :

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

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 SECOND;

Résultat :

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

Autres façons de soustraire des secondes

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

  • Le SUBTIME() fonction.
  • 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).