查询列中不全为数字的行

在执行表列转换为数字类型的过程中经常出现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:]]');

你可能感兴趣的:(oracle,数据库)