Dans MySQL, le TIMESTAMPADD() La fonction vous permet d'ajouter une durée spécifiée à une valeur date ou datetime. Vous spécifiez l'unité à ajouter, ainsi que le nombre de cette unité à ajouter. Il accepte trois arguments, qui sont utilisés pour la valeur initiale, le montant à ajouter et l'unité à utiliser.
Syntaxe
La syntaxe ressemble à ceci :
TIMESTAMPADD(unit,interval,datetime_expr)
Où unit est l'unité à ajouter, interval est le nombre d'unités à ajouter, et datetime_expr est la valeur date ou datetime initiale.
L'argument d'unité peut être soit MICROSECOND SECOND , MINUTE , HOUR , DAY , WEEK , MONTH , QUARTER , ou YEAR .
L'argument d'unité peut également avoir un préfixe de SQL_TSI_ . Par exemple, vous pouvez utiliser soit DAY ou SQL_TSI_DAY .
Exemple 1 – Ajouter un jour
Dans cet exemple, j'ajoute un jour à la date initiale.
SELECT TIMESTAMPADD(DAY, 1, '1999-12-31');
Résultat :
+------------------------------------+ | TIMESTAMPADD(DAY, 1, '1999-12-31') | +------------------------------------+ | 2000-01-01 | +------------------------------------+
Exemple 2 - Ajouter une seconde
Dans cet exemple, j'ajoute une seconde à la date initiale.
SELECT TIMESTAMPADD(SECOND, 1, '1999-12-31');
Résultat :
+---------------------------------------+ | TIMESTAMPADD(SECOND, 1, '1999-12-31') | +---------------------------------------+ | 1999-12-31 00:00:01 | +---------------------------------------+
Le résultat est maintenant une valeur datetime afin de renvoyer la partie des secondes.
Exemple 3 - Ajouter une microseconde
L'exemple précédent peut être poussé un peu plus loin et nous pouvons ajouter une fraction de seconde. Dans cet exemple, j'ajoute une microseconde à la date initiale.
SELECT TIMESTAMPADD(MICROSECOND, 1, '1999-12-31');
Résultat :
+--------------------------------------------+ | TIMESTAMPADD(MICROSECOND, 1, '1999-12-31') | +--------------------------------------------+ | 1999-12-31 00:00:00.000001 | +--------------------------------------------+
Exemple 4 – Utilisation d'un préfixe SQL_TSI_
Comme mentionné, l'unité peut inclure un SQL_TSI_ préfixe.
SELECT TIMESTAMPADD(SQL_TSI_YEAR, 1, '1999-12-31');
Résultat :
+---------------------------------------------+ | TIMESTAMPADD(SQL_TSI_YEAR, 1, '1999-12-31') | +---------------------------------------------+ | 2000-12-31 | +---------------------------------------------+
La fonction TIMESTAMP()
Vous pouvez utiliser le TIMESTAMP() fonction pour ajouter plusieurs parties de temps à une valeur date ou datetime à la fois. Ainsi, par exemple, vous pouvez ajouter 12:35:26.123456 à une date si vous le souhaitez.
Pour plus d'informations sur cette fonction, voir TIMESTAMP() Exemples.