Trouvez de nouveaux moyens pour mieux utiliser l'information date.
Utiliser les outils de date pour SQL et Excel
La plupart des applications utilise des dates. Il est donc normal que les développeurs et les analystes de données recherchent des outils pour manipuler ce genre d’information. Cet article se concentre sur les outils propres à SQL et Excel qui vous aideront à utiliser au mieux ces dates si importantes.
Je commencerai par passer en revue les fonctions intégrées (built-in functions, BIF) de SQL servant à manipuler des dates. Puis nous verrons comment traiter l’information date extraite de champs caractères et numériques. Ensuite, je vous montrerai comment additionner les données basées sur des périodes en SQL. Et nous finirons avec les outils d’addition d’Excel. Cet article se fonde sur les BIF SQL BIF de la version 5.4 ou plus récente. Pour en savoir plus sur les BIF SQL en version 5.4, vous pouvez consulter le site d’IBM.
La plupart de mes exemples viendront de la structure de base de données ci-dessous avec, (dans la figure 1), une vue des données au fil des ans :
Column name Precision | Description | Type | Length |
WIDDATE | Date of the transactions | Date | |
WIDSOLD | Widgets sold each day | Numeric | 7 / 0 |
WIDSALES | Widgets sales value each day | Numeric | 9 / 2 |
Mon exemple de fichier utilise un ensemble de données complet pour 2008-2009 et des données annuelles cumulées (Year-to-Date, YTD) jusqu’au 19 juillet 2010, quand j’ai écrit cet article.
Traitement des dates en SQL
En matière de dates, il faut savoir séparer le mois, le jour et l’année. Pour les extraire, vous disposez des BIF SQL YEAR(), MONTH(), et DAY() comme le montre la figure 2.
Une technique similaire permet d’effectuer des calculs simples sur les dates, pour additionner ou soustraire des jours, des mois, ou des années, d’une date de base. Le format est tout simplement : <+ ou -> . En voici quelques exemples :
Select widdate, widdate + 1 day from widgets
Select widdate, widdate – 2 months from widgets
Select widdate, widdate + 3 years from widgets
Select widdate, widdate + 3 years – 1 day from widgets
A noter que le dernier exemple contient une clause years et day, qui est valide. Voici un exemple succinct des données renvoyées :
WIDDATE | Date expression |
07/02/10 | 07/01/13 |
07/03/10 | 07/02/13 |
07/04/10 | 07/03/13 |
SQL est suffisamment intelligent pour savoir comment traiter les fins de mois et ne pas renvoyer une date inexistante. Ce SQL sélectionne la date plus un mois pour les jours à la fin janvier :
select widdate, widdate + 1 month
from widgets
where widdate between ‘2010-01-27’ and ‘2010-01-31’
Le résultat est présenté ci-dessous. Il renvoie simplement le dernier jour de février pour quatre jours en janvier :
WIDDATE | WIDDATE + 1 MONTH |
01/27/10 | 02/27/10 |
01/28/10 | 02/28/10 |
01/29/10 | 02/28/10 |
01/30/10 | 02/28/10 |
01/31/10 | 02/28/10 |
Téléchargez cette ressource
Livre blanc Sécurité et Stockage des documents
Découvrez dans ce livre blanc Kyocera les outils logiciels qui permettent une approche holistique et efficace de la collecte, du stockage, de la gestion et de la sécurisation des documents en entreprise.
Les articles les plus consultés
- 10 grandes tendances Business Intelligence
- 9 défis de transformation digitale !
- Stockage autonome, Evolutivité & Gestion intelligente, Pure Storage offre de nouvelles perspectives aux entreprises
- Les projets d’intégration augmentent la charge de travail des services IT
- Databricks lève 1 milliard de dollars !