Oracle
 sql >> Base de données >  >> RDS >> Oracle

Fonction PL/SQL simple pour tester si une chaîne est un nombre

Renvoie un type de données SQL, par ex. VARCHAR2. De plus, je déconseille d'utiliser WHEN OTHERS. De plus, vous n'avez pas besoin d'une requête sur 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;