|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juillet 2007 Messages : 23 ![]() |
Bonjour,
je fais des rapports dans BIRT avec une JDBC Data Source connectée à une base Lotus avec driver ODBC. Je récupere différentes dates dans mon DataSet et je voudrais calculer des délais. Mes dates sont au format 2006-05-20 je me dirige alors vers la section "computed columns", ou je crée une colonne appelée Délai et je mets naivement row["date1"]-row["date2"] en guise d'expression, et je n'arrive a rien. Quelque soit le data type que je donne à la colonne, je n'arrive pas a récupérer des valeurs pertinentes. type "DateTime" -> erreur SQL : "The data type of computed column "Delai" is java.util.Date, but one of its value is "NaN", which cannot be converted to java.util.Date" type "Date" -> erreur SQL aussi, mais avec java.sql.Date type "Any" -> la requete marche mais sort NaN pour tous les resultats type "String" -> idem les autres types (Integer, Float...) j'ai pas essayé. Il semblerait que mes dates soient récupérées sous forme de type String, et non de Date. Je pense que c'est en amont de BIRT. Dans "Output columns", quand je clique sur ma Date, il est écrit que le type de la donnée est String. Ce champ est grisé, je ne peux pas le changer. D'ou ma question : peut-on convertir le type d'un champ de DataSet ? j'entends par là le faire en amont, au niveau du DataSet, pas au niveau de la mise en page (car là jai cru voir qu'on peut choisir le format de Date), puisque j'ai besoin de faire des calculs dessus. Bien entendu si vous avez d'autres idées que celle-là pour résoudre mon probleme, elles sont bienvenues. Merci ! |
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() Inscription : juillet 2007 Messages : 23 ![]() |
J'essaie aussi de le faire directement en SQL dans la requete (tant pis pour Computed columns)
J'ai tenté la fonction to_Date : select to_date(VUNV800."_88","YYYY-MM-DD") BIRT n'aime pas du tout : la requete ne marche pas et le message d'erreur dit "FROM clause expected" il me sort la meme chose avec CAST(VUNV800."_88" AS DATE) |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 5 ![]() |
vu le message que Birt te met tu as du oublier de mettre un FROM dans ton select si je comprends bien le nom de ta btable est VUNV800, alors t'as requete de sélection de la date doit etre :
select to_date(VUNV800."_88","YYYY-MM-DD") FROM VUNV800; |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : juillet 2007 Messages : 23 ![]() |
Merci d'avoir répondu, mais non, justement, je n'ai pas oublié le FROM
La requete select to_date(VUNV800."_88","YYYY-MM-DD") FROM VUNV800; ne marche pas |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 5 ![]() |
Je sais que parfois il faut utiliser les cotes à la place des guillemets :
select to_date(VUNV800."_88",'YYYY-MM-DD') FROM VUNV800; |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : juillet 2007 Messages : 23 ![]() |
j'ai essayé, ça ne change rien.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com