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 :
- Une syntaxe vous permet d'ajouter un nombre de jours à une date, ce qui n'est pas ce que nous faisons ici.
- 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 deDATE_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.