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

8 façons d'ajouter des microsecondes à une valeur datetime dans MariaDB

Si vous devez ajouter une ou plusieurs microsecondes à 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 temporelles, telles que les heures, les minutes, les secondes, les microsecondes, etc.

Exemple :

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

Résultat :

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

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

Vous remarquerez peut-être également que la partie des microsecondes n'était pas dans ma valeur datetime d'origine, mais elle a été ajoutée une fois que j'ai ajouté les microsecondes.

Dans le même ordre d'idées, voici ce qui se passe si je ne fournis que la date :

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

Résultat :

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

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

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' SECOND_MICROSECOND);

Résultat :

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

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

Résultat :

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

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

Résultat :

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

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

Résultat :

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

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 microsecondes à notre expression datetime.

Exemple :

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

Résultat :

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

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

Résultat :

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

Le ADDTIME() Fonction

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

Exemple :

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

Résultat :

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

L'un des avantages de cette fonction est que vous pouvez également modifier les autres unités de temps, telles que les heures, les secondes, 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:00.123456');

Résultat :

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

Autres unités de date et d'heure

Les exemples ci-dessus ajoutent un certain nombre de microsecondes à 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.