Bonjour,

Pour les besoins d'une appli on crée une vue en fonction des date
Année N ou année N-1 = f(du mois de l'année)

avant ... statique on avait que N-1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
CREATE OR REPLACE FORCE VIEW AS 
SELECT 
..
FROM 
...
WHERE (DATE_OUVERTURE IS NULL OR DATE_OUVERTURE <= TO_DATE('3112'||TO_CHAR((sysdate - INTERVAL '1' YEAR),'YYYY'),'DDMMYYYY'))
cette vue fonctionne bien, mais je dois inclure une condition suplémentaire sur le fameux
décalage en fonction du mois de l'année
Avec un decode, je génére 1 ou 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
select decode(sign(TO_NUMBER(TO_CHAR(sysdate -INTERVAL '1' MONTH ,'MM')-8 )),-1,1,0,1,1,0) FROM DUAL
Cela fonctionne aussi, mais il y a un hic quand je remplace le
INTERVAL '1' de la première requête par la deuxième
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
par  INTERVAL (
select decode(sign(TO_NUMBER(TO_CHAR(sysdate -INTERVAL '1' MONTH ,'MM')-8 )),-1,1,0,1,1,0) FROM DUAL
)
Est ce possible ???

Olivier