Bonjour
Sur une base de donnée Oracle 9i une table a été créée de la manière suivante:
suivie de l'execution de ce script:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 CREATE TABLE DIM_TIME ( ID_TIME NUMBER, DATE_JOUR DATE, SEMAINE NUMBER, NUM_MOIS NUMBER, LIBELLE_MOIS VARCHAR2(12 BYTE), TRIMESTRE NUMBER, ANNEE NUMBER )
Mon problème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 CREATE OR REPLACE procedure load_time_dimension as date_jour date; id_time number; begin id_time:=1; date_jour := to_date('01/01/1900','DD/MM/YYYY'); while date_jour < to_date('31/12/2010','DD/MM/YYYY') loop insert into dim_time select id_time, date_jour, to_number(to_char(date_jour,'ww')), to_number(to_char(date_jour,'mm')), to_char(date_jour,'month'), to_number(to_char(date_jour,'q')), to_number(to_char(date_jour,'yyyy')) from dual; commit; date_jour:=date_jour+1; id_time:=id_time+1; end loop; end; /
quand je fais une requête aussi simple que
je n'obtiens absolument rien. Je me suis rendu compte plus tard que dans la table DIM_TIME, dans le champ LIBELLE_MOIS, les données ne sont pas ce qu'elles semblent etre.... Par exemple au lieu de 'avril' on a 'avril ' (avril suivi d'un certain nombre d'espace. Et ceci est vrai pour tous les mois, sauf septembre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select * from DIM_TIME where ANNEE = 1998 and TRIMESTRE = 2 and LIBELLE_MOIS = 'avril'
Je me suis dit qu'il suffirait de faire une modification de la table pour regler le problème:
(et faire de même pour les autres mois)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE DIM_TIME SET LIBELLE_MOIS = 'février' WHERE LIBELLE_MOIS = '%février%'
Mais ca ne change rien du tout! Du coup je me demande si le problème n'est pas lié à la manière avec laquelle le champ a été crééEt là je ne suis pas sûr de ce qu'il faut faire...
Code : Sélectionner tout - Visualiser dans une fenêtre à part LIBELLE_MOIS VARCHAR2(12 BYTE)
Partager