Re: "IF" equivilent in SQL select?????

From: Sea <marco_alleva_at_hotmail.com>
Date: Fri, 7 May 1999 12:49:15 +0200
Message-ID: <7gufp8$rhq$1_at_urano.inet.it>


Vickie Jones ha scritto nel messaggio ...
>Is there a function(?) that would be the equivilent to an "IF" statment
that
>can be used in a select statment? Below is a sample of what I am trying to
>do and the results:
>
>analyze index ccdbp.ALARMS_CODES_KEY validate structure;
>col key_name format A50
>select 'ALARMS_CODES_KEY' as key_name,del_lf_rows/lf_rows "Ratio" from
>index_stats;
>
>ERROR:
>ORA-01476: divisor is equal to zero
>
>What I need is an "if" statement that says if lf_rows is 0 (zero) set
>'del_lf_rows/lf_rows' to 0 (zero). I want to eliminate this error when I
>analyze my indexes.
>
>Thanks in advance!
>Vickie Jones
>Republic Engineered Steels, Inc.
>Canton, OH

I should try with a decode():

select 'ALARMS_CODES_KEY' as key_name,

            decode(if_rows, 0, 0, del_lf_rows/lf_rows) "Ratio" from index_stats;

For more info about decoded expressions see SQL Reference §3 page 87 this should works the exact way you asked for...

    see you
    Sea Received on Fri May 07 1999 - 12:49:15 CEST

Original text of this message