Bonjour, j'ai essayé les différentes méthodes trouvées sur le forum sans succès.
La base est Oracle 10gR2. Avec une base 9i, je n'avais pas de problème.
Soit le code
Et j'ai également essayé les conversions sur le champ ":new.DATE_VALEUR" sans succès.
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 Select VALIDE_AU, ID Into periode_fin, exercice_id from CO_EXERCICE Where VALIDE_DU <= :new.DATE_VALEUR and VALIDE_AU >= :new.DATE_VALEUR and DB_ELEMENT_ID = :new.DB_ELEMENT_ID; ou Select VALIDE_AU, ID Into periode_fin, exercice_id from CO_EXERCICE Where TO_CHAR(VALIDE_DU,'DD-MON-YY') <= :new.DATE_VALEUR and TO_CHAR(VALIDE_AU,'DD-MON-YY') >= :new.DATE_VALEUR and DB_ELEMENT_ID = :new.DB_ELEMENT_ID; ou Select VALIDE_AU, ID Into periode_fin, exercice_id from CO_EXERCICE Where TO_DATE(TO_CHAR(VALIDE_DU,'DD-MON-YY'),'DD-MON-YY') <= :new.DATE_VALEUR and TO_CHAR(VALIDE_AU,'DD-MON-YY'),'DD-MON-YY') >= :new.DATE_VALEUR and DB_ELEMENT_ID = :new.DB_ELEMENT_ID;
Dans une fenêtre SQL j'obtiens le résultat suivant (avec ou sans les conversions explicites) :
J'ai également vérifié les NLS_*PARAMETERS, soit :
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
29
30 SQL> select id, valide_du, valide_au 2 from co_exercice 3 where valide_du <= '01-JAN-2009' and 4 valide_au >= '01-JAN-2009' and 5 db_element_id = 5; ID VALIDE_DU VALIDE_AU ---------- --------- --------- 56 01-JAN-09 31-DEC-09 SQL> select id, valide_du, valide_au 2 from co_exercice 3 where valide_du <= '01-JAN-09' and 4 valide_au >= '01-JAN-09' and 5 db_element_id = 5; ID VALIDE_DU VALIDE_AU ---------- --------- --------- 56 01-JAN-09 31-DEC-09 SQL> select id, valide_du, valide_au 2 from co_exercice 3 where valide_du <= to_date('01-JAN-09','DD-MON-YY') and 4 valide_au >= to_date('01-JAN-09','DD-MON-YY') and 5 db_element_id = 5; ID VALIDE_DU VALIDE_AU ---------- --------- --------- 56 01-JAN-09 31-DEC-09
Et là, honnêtement, je sèche. Est-ce que qqn aurait une idée?
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84 SQL> SELECT * FROM NLS_SESSION_PARAMETERS; PARAMETER VALUE ------------------------------ ---------------------------------------- NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS ., NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-RR NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY NLS_TIME_FORMAT HH.MI.SSXFF AM NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM PARAMETER VALUE ------------------------------ ---------------------------------------- NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR NLS_DUAL_CURRENCY $ NLS_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE 17 rows selected. SQL> SELECT * FROM NLS_INSTANCE_PARAMETERS; PARAMETER VALUE ------------------------------ ---------------------------------------- NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_SORT NLS_DATE_LANGUAGE NLS_DATE_FORMAT NLS_CURRENCY NLS_NUMERIC_CHARACTERS NLS_ISO_CURRENCY NLS_CALENDAR NLS_TIME_FORMAT NLS_TIMESTAMP_FORMAT PARAMETER VALUE ------------------------------ ---------------------------------------- NLS_TIME_TZ_FORMAT NLS_TIMESTAMP_TZ_FORMAT NLS_DUAL_CURRENCY NLS_COMP NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE 17 rows selected. SQL> SELECT * FROM NLS_DATABASE_PARAMETERS; PARAMETER VALUE ------------------------------ ---------------------------------------- NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS ., NLS_CHARACTERSET WE8ISO8859P15 NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-RR NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY NLS_TIME_FORMAT HH.MI.SSXFF AM PARAMETER VALUE ------------------------------ ---------------------------------------- NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR NLS_DUAL_CURRENCY $ NLS_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE NLS_NCHAR_CHARACTERSET AL16UTF16 NLS_RDBMS_VERSION 10.2.0.1.0 20 rows selected.
Merci d'avance.
Partager