check if “it’s a number” function in Oracle
One additional idea, mentioned here is to use a regular expression to check: SELECT foo FROM bar WHERE REGEXP_LIKE (foo,’^[[:digit:]]+$’); The nice part is you do not need a separate PL/SQL function. The potentially problematic part is that a regular expression may not be the most efficient method for a large number of rows.