-- This function is an old friend. 
-- Good to have around when you need him!

CREATE OR REPLACE FUNCTION isnumeric (str VARCHAR2)
   RETURN BOOLEAN 
-- ©2005 Edward Stoever 
AS
BEGIN
   IF TRIM ('0' FROM TRANSLATE (str, '-+.0123456789', '0000000000000')) IS NULL
   THEN
      RETURN TRUE;
   ELSE
      RETURN FALSE;
   END IF;
END;
/