Stocker des valeurs de date-heure est crucial pour diverses logiques métier, et pouvoir manipuler des dates peut être très utile. Dans ce tutoriel, nous explorerons la fonction DATEADD de Microsoft SQL Server et comment elle peut être utilisée pour ajouter et soustraire des types de données de date et d’heure.
Aperçu de la fonction DATEADD
La fonction DATEADD dans SQL Server est utilisée pour manipuler des valeurs de date et d’heure en fonction de paramètres spécifiés. Elle nous permet d’ajouter ou de soustraire une valeur numérique à une date-heure spécifiée, ce qui donne des chronologies futures ou passées. La syntaxe de la fonction DATEADD est la suivante :
DATEADD(partie_date, nombre, date)Ici, partie_date est une partie de la date à laquelle une valeur numérique spécifiée sera ajoutée, nombre est une valeur entière qui sera ajoutée à la partie_date spécifiée, et date est la valeur d’une date spécifiée à laquelle la valeur numérique sera ajoutée sur la partie_date spécifiée.
La partie_date peut être une partie de la date telle que l’année, le mois, la date, le jour, l’heure, les minutes, la seconde, etc. Voici une liste des parties de date qui peuvent être utilisées avec la fonction DATEADD :
- Année (yy, aaaa)
- Trimestre (tt, t)
- Mois (mm, m)
- Semaine (ss, sm)
- Jour de la semaine (j, sj)
- Jour (jj, j)
- Jour de l’année (ja, a)
- Heure (hh)
- Minute (mi, n)
- Seconde (ss, s)
- Milliseconde (ms)
- Microseconde (mcs)
- Nanoseconde (ns)
Cas d’utilisation de base de la fonction DATEADD
Commençons par comprendre l’utilisation de la fonction DATEADD avec un exemple. Supposons que nous voulions calculer la date dans 2 ans à partir de la date d’aujourd’hui. Nous pouvons utiliser la requête suivante :
SELECT DATEADD(ANNÉE, 2, GETDATE()) AS [Résultat en utilisant GETDATE()]Cette requête renverra la date dans 2 ans à partir de la date actuelle. De même, nous pouvons utiliser une date spécifique au lieu de GETDATE() pour effectuer le calcul. Par exemple :
SELECT DATEADD(ANNÉE, 2, '2022-01-01') AS [Résultat en utilisant une date spécifiée]Dans ce cas, la requête renverra la date dans 2 ans à partir de la date spécifiée.
Ajout de dates à l’aide de la fonction DATEADD
Nous pouvons également ajouter une valeur numérique à une partie_date d’une date spécifiée à l’aide de la fonction DATEADD. Par exemple, pour obtenir la date dans 2 mois à partir de la date actuelle, nous pouvons utiliser la requête suivante :
SELECT DATEADD(MOIS, 2, GETDATE()) AS [Date dans 2 mois]Cette requête renverra la date dans 2 mois à partir de la date actuelle. De même, nous pouvons ajouter des valeurs à d’autres parties_date comme le trimestre, la semaine et le jour.
Soustraction de dates à l’aide de la fonction DATEADD
La fonction DATEADD peut également être utilisée pour soustraire une date. Par exemple, pour obtenir la date 2 mois avant la date actuelle, nous pouvons utiliser la requête suivante :
SELECT DATEADD(MOIS, -2, GETDATE()) AS [2 mois avant la date actuelle]Cette requête renverra la date 2 mois avant la date actuelle. De même, nous pouvons soustraire des valeurs d’autres parties_date comme le trimestre, la semaine et le jour.
Utilisation de la fonction DATEADD avec des colonnes
La fonction DATEADD peut également être utilisée avec des valeurs de colonnes d’une table. Supposons que nous ayons une table appelée OrderDetails qui stocke des informations sur les produits, y compris la date de vente. Nous voulons calculer la date de livraison, la date de fin de garantie et la date de fin de retour en fonction de la date de vente. Nous pouvons utiliser la requête suivante :
SELECT NomProduit, MoisFacture, Prix, Date AS [Date de vente],
DATEADD(JOUR, 3, Date) AS [Date de livraison],
DATEADD(MOIS, 6, Date) AS [Date de fin de garantie],
DATEADD(SEMAINE, 3, Date) AS [Date de fin de retour]
FROM OrderDetails
LIMIT 10Cette requête renverra le nom du produit, le mois de la facture, le prix, la date de vente, la date de livraison, la date de fin de garantie et la date de fin de retour pour les 10 premiers enregistrements de la table OrderDetails.
Conclusion
La fonction DATEADD dans SQL Server est un outil puissant pour manipuler des valeurs de date et d’heure. Elle nous permet d’ajouter ou de soustraire des valeurs de différentes parties_date, offrant ainsi une flexibilité dans les calculs de date. En comprenant la syntaxe et l’utilisation de la fonction DATEADD, nous pouvons travailler efficacement avec les données de date et d’heure dans SQL Server.
Article mis à jour pour la dernière fois le : 2022-04-26