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

Soustraire des microsecondes d'une valeur datetime dans MariaDB

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

Résultat :

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

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

Exemple :

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND);

Résultat :

+-----------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND) |
+-----------------------------------------------------------+
| 2021-05-01 09:59:59.999700                                |
+-----------------------------------------------------------+

Notez que la MICROSECOND le mot clé reste non pluriel, que vous soustrayiez une microseconde ou plus.

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 3 MICROSECOND);

Résultat :

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

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

L'opérateur de soustraction (- )

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

Résultat :

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

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

Résultat :

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

Autres façons de soustraire des microsecondes

Voici quelques autres approches que vous pouvez utiliser pour soustraire une ou plusieurs microsecondes 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).