Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Simply question about TO_NUMBER function
If I have a table like this:
CREATE TABLE Table1
(
Field1 VARCHAR2(10), Field2 VARCHAR2(10), Field3 VARCHAR2(10)
Field1 Field2 Field3
SELECT * FROM Table1 WHERE TO_NUMBER(Field1) = 456 it return an error like "not valid number".
To resolve the problem I 've created a function:
CREATE OR REPLACE FUNCTION GET_VAL (X IN VARCHAR2) RETURN NUMBER IS
BEGIN
RETURN TO_NUMBER(STRVAL);
EXCEPTION
WHEN OTHERS THEN RETURN NULL;
END;
Now if I run the query:
SELECT * FROM Table1 WHERE GET_VAL(Field1) = 456 it works, but i see that my function GET_VAL work 8/9 times slowly than TO_NUMBER function, and used with big tables or in cycles is not so good.
Someone have another idea to resolve the problem quickly? Thanks! Received on Wed Feb 02 2005 - 17:18:06 CST