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

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Numeric comparison in DECODE statement

RE: Numeric comparison in DECODE statement

From: Lord, David - CSG <David.Lord_at_hayscsg.com>
Date: Mon, 20 May 2002 08:13:35 -0800
Message-ID: <F001.00464A80.20020520081335@fatcity.com>


You cannot use predicates directly, but you can use the SIGN operator to find out whether (in_value - 60) is less than, equal to, or greater than zero: -

select
  decode(
    sign(to_number(in_value) - 60),
    -1, in_value || ' minutes',
    to_char(to_number(in_value)/60) || ' hours' from
  dual;

HTH
David Lord

> -----Original Message-----
> From: Yexley Robert D Contr Det 1 AFRL/WSI
> [mailto:Robert.Yexley_at_wpafb.af.mil]
> Sent: 20 May 2002 16:08
> To: Multiple recipients of list ORACLE-L
> Subject: Numeric comparison in DECODE statement
>
>
> I was wondering if anyone might have tried this before,
> because I can't seem to get it to work. I'd like to be able
> to determine which unit of measure to concatenate to a value
> by using a decode statement in the query. I have a column in
> the database that stores time in minutes, and I'd like to be
> able to show the output in minutes if the value is less than
> 60, but in hours (such as 3.27 hours) if the value is greater
> than 60. So far I've tried the following statement, but it
> seems to be blowing up on the first comparison operator:
>
> SELECT decode(in_value, to_char(to_number(in_value) <=
> to_number('60')), to_char(in_value)||' minutes',
> to_char(to_number(in_value) > to_number('60')),
> to_char(in_value/60, '9.99')||' hours')
> FROM dual
> /
>
> I'm selecting from dual just until I can get the query
> working at all. Is what I'm trying to do even possible? Any
> help or ideas would be greatly appreciated. Thanks in advance.
>
> _YEX_
>
> /*
> || Robert D. Yexley
> || Oracle Programmer/Analyst
> || Easylink Services Corporation
> || Professional Services
> || Contractor - Wright Research Site MIS
> || Det-1 AFRL/WSI Bldg. 45 Rm. 062
> || (937) 255-1984
> || robert.yexley_at_wpafb.af.mil
> || <)))><
> */
>
> --
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> --
> Author: Yexley Robert D Contr Det 1 AFRL/WSI
> INET: Robert.Yexley_at_wpafb.af.mil
>
> Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
> San Diego, California -- Public Internet access / Mailing Lists
> --------------------------------------------------------------------
> To REMOVE yourself from this mailing list, send an E-Mail message
> to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
> the message BODY, include a line containing: UNSUB ORACLE-L
> (or the name of mailing list you want to be removed from). You may
> also send the HELP command for other information (like subscribing).
>



This message (including any attachments) is confidential and may be legally privileged. If you are not the intended recipient, you should not disclose, copy or use any part of it - please delete all copies immediately and notify the Hays Group Email Helpdesk at email.helpdesk_at_hays.plc.uk
Any information, statements or opinions contained in this message (including any attachments) are given by the author. They are not given on behalf of Hays unless subsequently confirmed by an individual other than the author who is duly authorised to represent Hays.  

A member of the Hays plc group of companies. Hays plc is registered in England and Wales number 2150950. Registered Office Hays House Millmead Guildford Surrey GU2 4HJ.


-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Lord, David - CSG
  INET: David.Lord_at_hayscsg.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Mon May 20 2002 - 11:13:35 CDT

Original text of this message

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