Home » SQL & PL/SQL » SQL & PL/SQL » ISNUMERIC - CODE FOR THOSE WHO NEED IT
ISNUMERIC - CODE FOR THOSE WHO NEED IT [message #38368] Mon, 15 April 2002 14:08 Go to next message
KAW
Messages: 8
Registered: February 2001
Junior Member
FUNCTION IsNumeric(P_Value IN VARCHAR2)
Return Boolean
IS
V_Numeric_Value NUMBER;
Begin
SELECT To_Number(P_Value) INTO V_Numeric_Value FROM Dual;

RETURN TRUE;

EXCEPTION
WHEN Invalid_Number THEN
Return FALSE;

End IsNumeric; -- End IsNumeric
Re: ISNUMERIC - CODE FOR THOSE WHO NEED IT [message #38374 is a reply to message #38368] Mon, 15 April 2002 17:44 Go to previous messageGo to next message
Todd Barry
Messages: 4819
Registered: August 2001
Senior Member
You definitely don't need to involve dual in this. Instead, just:

v_numeric_value := To_Number(P_Value);
Re: ISNUMERIC - Be careful, though! [message #38383 is a reply to message #38368] Tue, 16 April 2002 04:45 Go to previous message
Jon
Messages: 483
Registered: May 2001
Senior Member
Just don't confuse "numeric" with "all numbers". So if you wanted to test an SSN, for example, you could pass "2.096E-11" into this function and you would return TRUE. Nine positions and numeric...must be a valid SSN, right? Not!
Previous Topic: Commit in a Trigger
Next Topic: database links
Goto Forum:
  


Current Time: Fri Mar 29 03:10:16 CDT 2024