Eine weitere Idee, die hier erwähnt wird, ist die Verwendung eines regulären Ausdrucks zur Überprüfung von:
SELECT foo
FROM bar
WHERE REGEXP_LIKE (foo,'^[[:digit:]]+$');
Das Schöne daran ist, dass Sie keine separate PL/SQL-Funktion benötigen. Der möglicherweise problematische Teil besteht darin, dass ein regulärer Ausdruck möglicherweise nicht die effizienteste Methode für eine große Anzahl von Zeilen ist.