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 deDATE_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).