Een bijkomend idee, hier genoemd, is om een reguliere expressie te gebruiken om te controleren:
SELECT foo
FROM bar
WHERE REGEXP_LIKE (foo,'^[[:digit:]]+$');
Het leuke is dat je geen aparte PL/SQL-functie nodig hebt. Het potentieel problematische deel is dat een reguliere expressie misschien niet de meest efficiënte methode is voor een groot aantal rijen.