Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Einfache PL/SQL-Funktion zum Testen, ob ein String eine Zahl ist

Geben Sie einen SQL-Datentyp zurück, z. VARCHAR2. Außerdem würde ich davon abraten, WHEN OTHERS zu verwenden. Außerdem brauchen Sie keine Abfrage auf dual:

create or replace 
function IS_NUMBER(str in varchar2) return varchar2
IS
  n number;
BEGIN
  n := to_number(str);
  return 'Y';
EXCEPTION WHEN VALUE_ERROR THEN
  return 'N';
END;