日期:2014-05-17  浏览次数:20942 次

oracle varchar2 to_number的问题
数据表的一个字段 为varchar2类型 ,其内容可能为字符或高精度数,现在要获取该字段大于某个高精度值的数据 。该怎么写select语句
Oracle select

------解决方案--------------------
最好能用function,加上exception就解决了。

不能用的话,只好用where (case when 判断条件 then 1 else 0 end)=1。
判断条件可以是a is not null and translate(a,' .0123456789',' ') is null这类的,或者case when多层嵌套,也可以用正则判断。
------解决方案--------------------
第一步: 用正则表达式筛选出只有数值的字符
第二步:在第一步的基础上用to_number函数进行比较