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

8 façons d'ajouter des secondes à une valeur Datetime dans MariaDB

Si vous devez ajouter une ou plusieurs secondes à une valeur datetime dans MariaDB, voici 8 options à considérer.

Le DATE_ADD() Fonction

Le DATE_ADD() La fonction vous permet d'ajouter un montant à une expression date ou datetime. Cela inclut l'ajout de parties de temps, telles que les heures, les minutes, les secondes, etc.

Exemple :

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND);

Résultat :

+-----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 10:00:35                                 |
+-----------------------------------------------------+

Dans ce cas, j'ai ajouté 35 secondes à l'expression datetime. Notez que la SECOND le mot-clé reste non pluriel, que j'ajoute une seconde ou plus.

Voici ce qui se passe si je ne fournis que la date :

SELECT DATE_ADD('2021-05-01', INTERVAL 35 SECOND);

Résultat :

+--------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 35 SECOND) |
+--------------------------------------------+
| 2021-05-01 00:00:35                        |
+--------------------------------------------+

La partie heure est ajoutée au résultat et on suppose que l'heure initiale était 00:00:00 .

Lors de l'ajout de 60 secondes, nous pouvons également utiliser la MINUTE mot-clé si nous préférons :

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE);

Résultat :

+----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE) |
+----------------------------------------------------+
| 2021-05-01 10:01:00                                |
+----------------------------------------------------+

Cette technique fonctionne évidemment avec 120 secondes, 180, etc. Utilisez simplement le nombre de minutes applicable.

Vous pouvez également utiliser une unité de date/heure composite pour ajouter plusieurs unités. Par exemple, si vous souhaitez ajouter 1 minute et 30 secondes, vous pouvez procéder comme suit :

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

Résultat :

+----------------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' MINUTE_SECOND) |
+----------------------------------------------------------------+
| 2021-05-01 10:01:30                                            |
+----------------------------------------------------------------+

Voir MariaDB Date and Time Units pour une liste complète des unités de date/heure.

Le ADDDATE() Fonction

Une autre façon d'ajouter des secondes à une expression datetime consiste à utiliser le ADDDATE() une fonction. Cette fonction a deux syntaxes :

  1. Une syntaxe vous permet d'ajouter un nombre de jours à une date, ce qui n'est pas ce que nous faisons ici (sauf si nous prévoyons d'ajouter des secondes par blocs de 86 400, c'est-à-dire le nombre de secondes dans une journée).
  2. L'autre syntaxe est la même qu'avec le DATE_ADD() fonction ci-dessus. Lors de l'utilisation de cette syntaxe, ADDDATE() est un synonyme de DATE_ADD() .

Exemple :

SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 SECOND);

Résultat :

+----------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 35 SECOND) |
+----------------------------------------------------+
| 2021-05-01 10:00:35                                |
+----------------------------------------------------+

Le DATE_SUB() Fonction

Le DATE_SUB() la fonction vous permet de soustraire un montant à une expression date/datetime. Cependant, si vous fournissez une valeur négative à soustraire, elle finit par être ajoutée à la date/heure.

Exemple :

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

Résultat :

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

Le SUBDATE() Fonction

Le SUBDATE() la fonction est synonyme de DATE_SUB() lors de l'utilisation de la syntaxe suivante.

Exemple :

SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -35 SECOND);

Résultat :

+-----------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -35 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 10:00:35                                 |
+-----------------------------------------------------+

Le + Opérateur

Une autre option consiste à utiliser le + opérateur.

Le + L'opérateur est utilisé pour effectuer l'addition, et nous pouvons l'utiliser sur les dates, avec l'unité de date/heure applicable pour ajouter un certain nombre de secondes à notre expression datetime.

Exemple :

SELECT '2021-05-01 10:00:00' + INTERVAL 35 SECOND;

Résultat :

+--------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL 35 SECOND |
+--------------------------------------------+
| 2021-05-01 10:00:35                        |
+--------------------------------------------+

Le - Opérateur

Le - peut être utilisé pour soustraire un montant d'une date. Mais s'il est utilisé pour soustraire un nombre négatif, le résultat est un montant positif ajouté à l'expression datetime :

SELECT '2021-05-01 10:00:00' - INTERVAL -35 SECOND;

Résultat :

+---------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL -35 SECOND |
+---------------------------------------------+
| 2021-05-01 10:00:35                         |
+---------------------------------------------+

Le ADDTIME() Fonction

Vous pouvez utiliser le ADDTIME() fonction pour ajouter un nombre de secondes à une expression datetime.

Exemple :

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

Résultat :

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

L'un des avantages de cette fonction est que vous pouvez également modifier les autres unités de temps, telles que les heures, les minutes, etc.

Le SUBTIME() Fonction

Vous pouvez également le changer et utiliser SUBTIME() avec une valeur négative si vous le souhaitez :

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 10:00:30                         |
+---------------------------------------------+

Autres unités de date et d'heure

Les exemples ci-dessus ajoutent un nombre de secondes à la valeur datetime, mais nous pouvons utiliser les mêmes techniques pour ajouter n'importe quelle unité de date/heure. Voir Unités de date et d'heure MariaDB pour une liste complète des unités de date/heure qui peuvent être utilisées avec les fonctions et opérateurs ci-dessus.