> Data > Utiliser les outils de date pour SQL et Excel

Utiliser les outils de date pour SQL et Excel

Data - Par Jef Sutherland - Publié le 20 février 2012
email

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

Travail à distance – Guide IT et Métiers

Travail à distance – Guide IT et Métiers

Le travail à distance met à l'épreuve la maturité numérique des entreprises en termes de Cybersécurité, d'espace de travail, de bien-être des collaborateurs, de communication et gestion de projet à distance. Découvrez, dans ce nouveau Guide Kyocera, quels leviers activer prioritairement pour mettre en place des solutions de travail à domicile efficaces, pérennes et sécurisées.

Data - Par Jef Sutherland - Publié le 20 février 2012