is_numeric() (PL/SQL)

Mit dieser Funktion kann man überprüfen, ob ein Wert numerisch ist. Dies ist nützlich, wenn z.B. eine Packagefunktion überladen will, aber einige weniger bewanderte Programmierer auch numerische Funktionsparameter in Anführungsstriche gesetzt haben. Bis diese falsch notierten Parameter entfernt sind, kann man sich mit dieser Funktion behelfen.

create or replace function is_numeric(squellwert varchar2) return number as
  nzielwert number;
begin
  nzielwert := to_number(squellwert);
  return(1);
  exception
    when others then begin
      return(0);
  end;
end is_numeric;
/

Der Zugriff erfolgt so:

SELECT
  is_numeric('marcel')
FROM
  dual;

Obiges Beispiel würde "0" zurückgeben. Wäre der Wert numerisch gewesen, hätte die Funktion "1" zurück gegeben.