La manipulation des dates dans SQL Server peut être difficile pour les débutants. Comprendre comment utiliser différentes fonctions de date, telles que DATEADD, DATEDIFF et DATEPART, est essentiel pour manipuler et extraire des informations des dates. Dans cet article, nous explorerons ces fonctions de date importantes et fournirons des exemples de leur utilisation.
Fonction DATEADD
La fonction DATEADD est utilisée pour ajouter ou soustraire une quantité spécifiée de temps à une valeur de date donnée. Par exemple, si vous travaillez pour une entreprise de commerce électronique et que vous devez calculer la date d’expédition d’une commande passée il y a deux jours, vous pouvez utiliser la fonction DATEADD. La syntaxe de la fonction DATEADD est la suivante:
DATEADD(PARTIE_DATE, NOMBRE, DATE)Les arguments acceptés par la fonction DATEADD sont:
- PARTIE_DATE: Spécifie la partie de la date à ajouter ou soustraire (jour, mois, semaine, etc.)
- NOMBRE: La quantité par laquelle la valeur de la date est augmentée ou diminuée
- DATE: La valeur de date d’origine sur laquelle les calculs seront effectués
Par exemple, pour calculer la date d’expédition d’une commande passée le 15 janvier 2020, vous pouvez utiliser le code suivant:
OrderDate = '2020-01-15'
ShippingDate = DATEADD(JOUR, 2, OrderDate)Cela donnera comme résultat la date d’expédition du 17 janvier 2020.
Fonction DATEDIFF
La fonction DATEDIFF est utilisée pour calculer la différence de temps entre deux dates ou valeurs de temps données. Elle peut être utilisée pour compter le nombre d’années, de mois, de jours, de minutes, de secondes, etc. entre une date de début et une date de fin. Par exemple, si vous devez calculer le temps de trajet d’un vol qui a quitté à 10h et est arrivé à 12h, vous pouvez utiliser la fonction DATEDIFF. La syntaxe de la fonction DATEDIFF est la suivante:
DATEDIFF(PARTIE_DATE, DATE_DE_DEBUT, DATE_DE_FIN)Les arguments acceptés par la fonction DATEDIFF sont:
- PARTIE_DATE: Spécifie la partie de la date pour calculer la différence (jour, mois, semaine, etc.)
- DATE_DE_DEBUT: La date de début à partir de laquelle la fonction calculera la période
- DATE_DE_FIN: La date de fin jusqu’à laquelle la fonction calculera la période
Par exemple, pour calculer le temps de trajet d’un vol qui a quitté à 10h et est arrivé à 12h, vous pouvez utiliser le code suivant:
HeureDeDepart = '10:00:00.000'
HeureDarrivee = '12:00:00.000'
TempsDeTrajet = DATEDIFF(HEURE, HeureDeDepart, HeureDarrivee)Cela donnera comme résultat un temps de trajet de 2 heures.
Fonction DATEPART
La fonction DATEPART est utilisée pour extraire une partie spécifique d’une date, telle que l’année, le mois, le jour, etc. Par exemple, si vous devez générer un rapport mensuel des ventes, vous pouvez utiliser la fonction DATEPART pour regrouper les ventes brutes pour chaque mois. La syntaxe de la fonction DATEPART est la suivante:
DATEPART(PARTIE_DATE, DATE)Les arguments acceptés par la fonction DATEPART sont:
- PARTIE_DATE: Spécifie la partie de la date à extraire (année, mois, jour, etc.)
- DATE: La valeur de date à partir de laquelle la partie doit être extraite
Par exemple, pour générer un rapport mensuel des ventes pour l’année 2014, vous pouvez utiliser le code suivant:
SELECT DATEPART(MOIS, [Clé de la date de la facture]) AS [Mois], SUM([Total TTC]) AS [Total TTC]
FROM Facture.Vente
WHERE [Clé de la date de la facture] BETWEEN '2014-01-01' AND '2014-12-01'
GROUP BY DATEPART(MOIS, [Clé de la date de la facture])
ORDER BY DATEPART(MOIS, [Clé de la date de la facture])Cela fournira les ventes totales pour chaque mois de l’année 2014.
Conclusion
Dans cet article, nous avons exploré les fonctions DATEADD, DATEDIFF et DATEPART dans SQL Server. Ces fonctions sont essentielles pour manipuler et extraire des informations des dates. En comprenant comment utiliser ces fonctions, vous pouvez effectuer des calculs complexes et générer des rapports significatifs basés sur des valeurs de date.
Pour plus d’informations sur ces fonctions, vous pouvez vous référer à la documentation officielle de Microsoft.