anidar case
Publicado por ignacio (2 intervenciones) el 18/02/2014 21:34:36
Buenas noches,
A ver si me podéis echar un cablecillo,
Necesito, en función de unos valores devueltos , obtener un nuevo valor:
Esto es lo que tengo hasta ahora :
Y en función de lo obtenido anteriormente :
Lo que necesito es dar forma a lo siguiente( desde y hasta serian los valores que se obtienen del case anterior)
when sysdate < desde then +2
when sysdate> hasta then +2
else +1
En resumen, que si para una fecha pasada, esta entre el ultimo domingo de marzo y el ultimo domingo de octubre pase +1 y sino un + 2 ( lo digo porque a lo mejor se os ocurre otra forma)
Gracias
A ver si me podéis echar un cablecillo,
Necesito, en función de unos valores devueltos , obtener un nuevo valor:
Esto es lo que tengo hasta ahora :
1
2
3
4
5
6
7
8
9
with data as (select add_months(trunc(to_date(sysdate),'Year'),rownum-1) d
from dual
connect by rownum <= 12)
SELECT next_day(last_day(d)-7,'Sunday') as r1,
case
when to_char(next_day(last_day(d)-7,'Sunday'),'MM')=3 then ' desde'
when to_char(next_day(last_day(d)-7,'Sunday'),'MM')=10 then 'hasta'
end
from data
Y en función de lo obtenido anteriormente :
Lo que necesito es dar forma a lo siguiente( desde y hasta serian los valores que se obtienen del case anterior)
when sysdate < desde then +2
when sysdate> hasta then +2
else +1
En resumen, que si para una fecha pasada, esta entre el ultimo domingo de marzo y el ultimo domingo de octubre pase +1 y sino un + 2 ( lo digo porque a lo mejor se os ocurre otra forma)
Gracias
Valora esta pregunta


0