Comment utiliser une colonne calculée lorsque l'état?
-
19-09-2019 - |
Question
Comment utiliser une colonne calculée dans la condition de where
dans Oracle 9i?
Je veux utiliser quelque chose comme
select decode (:pValue,1,
select sysdate from dual,
select activation_date from account where AcNo = 1234) as calDate
where caldate between startDate and endDate;
La solution
Vous pouvez utiliser une vue en ligne:
select calcdate from
(
select startDate, endDate,
decode (:pValue,1,
select sysdate from dual,
select activation_date from account where AcNo = 1234) as calcdate
)
where calcdate between startDate and endDate;
Autres conseils
Vous pouvez sélectionner votre date de double et rejoindre les résultats:
select *
from <<your table with startDate and endDate columns>> -- Since you ommited the main "from" clause from your statement
, (
select decode( :pValue
, 1, sysdate
, ( select activation_date from account where AcNo = 1234 )
) as calDate
from dual
) c
where c.calDate between startDate and endDate
... -- any other conditions you may need
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow