Satu ide tambahan, yang disebutkan di sini adalah menggunakan ekspresi reguler untuk memeriksa:
SELECT foo
FROM bar
WHERE REGEXP_LIKE (foo,'^[[:digit:]]+$');
Bagian yang bagus adalah Anda tidak memerlukan fungsi PL/SQL yang terpisah. Bagian yang berpotensi bermasalah adalah bahwa ekspresi reguler mungkin bukan metode yang paling efisien untuk sejumlah besar baris.