Click to See Complete Forum and Search --> : Decode statement


bvolf
11-18-2002, 03:09 PM
Hello,

I need to write the following decode statement and I am having trouble getting it right:
if an end_date is null or less than today then return X, else return Y.

Can anyone help,

Thanks in advance,

Boris Volf

Shestakov
11-18-2002, 03:40 PM
Example:


ccreate table test_decode(a date, b number);
insert into test_decode (a, b) values(trunc(sysdate-5),1);
insert into test_decode (a, b) values(trunc(sysdate+5),2);
insert into test_decode (a, b) values(to_date(null),3);

SQL> select sysdate, a, b, decode(a,null,'X',decode(sign(a-sysdate),-1,'X','Y'))
from test_decode;
2
SYSDATE A B D
--------- --------- ---------- -
18-NOV-02 23-NOV-02 2 Y
18-NOV-02 3 X
18-NOV-02 13-NOV-02 1 X

pando
11-18-2002, 03:42 PM
use case

something like


select
case
when end_date is null
or end_date < trunc(sysdate)
then 'X'
else 'Y'
end end_date
from table;