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

Home -> Community -> Usenet -> c.d.o.tools -> Re: function to get only numbers

Re: function to get only numbers

From: Bhooshan S. Prabhu <bhooshan.prabhu_at_citicorp.com>
Date: 5 Jul 2001 04:37:03 -0700
Message-ID: <2cf4efe2.0107050337.441f8916@posting.google.com>

"Philippe Makowski" <makowski.philippe_at_wanadoo.fr> wrote in message news:<9i05pr$i8b$1_at_wanadoo.fr>...
> why this function does not compile ?
>
>
> CREATE OR REPLACE FUNCTION char2num (charnum in varchar2) RETURN number IS
> i number;
> digits number;
> current_digit char(1);
> parsechar varchar2;
> BEGIN
> parsechar :='';
> digits := length(charnum);
> for i in 1..digits loop
> current_digit := SUBSTR(charnum, i, 1);
> if current_digit in ('0','1','2','3','4','5','6','7','8','9') then
> parsechar := parsechar || current_digit;
> end loop;
> return to_number(parsechar);
> END char2num;



Function doesn't compile because of the following reasons. 1. parechar varchar2; :- Not correct. You need to qualify it with a size b/w
                          1 to 32K(Please check the limit)
2. if current_digit :- Doesn't have an End If

Regards
Bhooshan Received on Thu Jul 05 2001 - 06:37:03 CDT

Original text of this message

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