在执行表列转换为数字类型的过程中经常出现ora-01722 “无效数字"的错误,但是行数又多,为了找出是哪些列出了问题,在此有一个好的解决方法,那就是用正则表达式函数来处理;
SELECT * FROM table_name t WHERE NOT regexp_like(column_name,'^[[:digit:]]+$');
不包涵任何数字
SELECT * FROM table_name t WHERE regexp_like(column_name,'^[^[:digit:]]+$');
包涵标点符号
SELECT * FROM table_name t WHERE regexp_like(column_name,'[[:punct:]]');