Recherche sur le blog

mardi 29 novembre 2011

[SQL] Date du jour - X sur DB2

Astuce! Dans vos applications, vous avez sûrement dû manipuler des dates aussi bien dans votre outil de développement que dans une requête SQL. Sur DB2, pour récupérer la date du jour à laquelle on soustrait un nombre X de jours, et ce dans un format final AAAAMMJJ, soit l'année sur 4 chiffres, le mois sur 2 et les jours sur 2 chiffres également, voici comment procéder :
SELECT                                                 
  YEAR(date(days(CURRENT DATE)-x))  * 10000 +         
  MONTH(date(days(CURRENT DATE)-x)) * 100  +          
  DAY(date(days(CURRENT DATE)-x)) from sysibm/sysdummy1
La variable "x" doit être remplacée par le nombre de jours à soustraire de la date, qui est transformée en jour. La requête initiale pour obtenir la date du jour est la suivante :
 SELECT
 YEAR(CURRENT DATE) * 10000 +
 MONTH(CURRENT DATE) * 100  +
 DAY(CURRENT DATE )           
 FROM SYSIBM/SYSDUMMY1  
A présent, vous pouvez manipuler les dates sans rencontrer trop de difficultés...

Aucun commentaire: