Bonjour,
Je dois comparer une date format DATE avec une date caractère du format CHAR(10) YYMMDDHHMM et je ne connais pas vraiment les fonctions de conversion DB2.
Quelqu'un peut-il m'aider svp?
Merci.
Bonjour,
Je dois comparer une date format DATE avec une date caractère du format CHAR(10) YYMMDDHHMM et je ne connais pas vraiment les fonctions de conversion DB2.
Quelqu'un peut-il m'aider svp?
Merci.
DB2 sur quel OS ? ... z, LUW ou I5 ?
Exact ! quel OS ?
et quand tu fais un select madate from...
comment est affiché le format de ta vraie date ?
En considérant que DATE1 est une vraie date, DATE2 un char 10 au format YYMMDDHHMM.
Si un SELECT DATE1 te donne par exemple 08/10/01, le but est de rendre ta date2 au même format et de faire un DATE dessus :
ex:
le mieux est de créer une fonction qui recoit un char 10 et renvoie une date ce qui t'éviterai à l'avenir de coder à nouveau des substr, left ou encore insert.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select date1 - date(insert(insert(left(DATE2, 6), 3, 0, '/'), 6, 0, '/')) from ....
Je considère dans cet exemple que la date dans CHAMP1 est déclarée en CHAR(10) au format YYMMDDHHMM. On va la mettre au format ISO, c'est à dire YYYY-MM-DD, pour tester son contenu par rapport à la colonne de type DATE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT ... FROM ... WHERE DATE('20' CONCAT SUBSTR(CHAMP1, 1, 2) CONCAT '-' CONCAT SUBSTR(CHAMP1, 3, 2) CONCAT '-' CONCAT SUBSTR(CHAMP1, 5, 2)) = Colonne_Date
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager