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.