Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Decode Statement

Re: Decode Statement

From: Dennis Hancy <dennishancy_at_eaton.com>
Date: 11 Oct 2001 07:11:26 -0700
Message-ID: <248587ca.0110110611.75adb19e@posting.google.com>


Mark Styles <news_at_lambic.co.uk> wrote in message news:<9l89stg58ei7jsjle75mfbbvv29cmrsnha_at_4ax.com>...
> On 10 Oct 2001 12:01:44 -0700, dennishancy_at_eaton.com (Dennis Hancy)
> wrote:
>
> >A typical Decode statement looks like this..
> >
> >decode(value, if1, then1, if2, then2...)
> >
> >
> >Can the "if" values be replaced with a range? For instance, what if
> >you wanted to check if "value" is between 1 and 10.
> >
> >Could you do this...
> >
> >decode(value, between 1 and 10, then1, if2, then2...) ?
>
> For A between B and C:
>
> DECODE( SIGN(a-b),
> 1, DECODE( SIGN(a - c),
> -1, TRUE,
> FALSE ),
> FALSE)
Thanks!!

Hey, I had to modify this slightly, since my values are character data, but I go it to work.

Here's what I did for character data...

decode( greatest(A,b),

           A, decode( least(A,c), A, TRUE, FALSE),
           FALSE
      )


Same concept as SIGN. I might need to double check the end point values (for instance if A=b or A=c), but this works great.

Thanks for your help.

Dennis Received on Thu Oct 11 2001 - 09:11:26 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US