Oracle数据库中有一个面积字段flarea nvarchar2 类型,其中记录有的是数字、有的是字符串。我现在需求是要把属于数字的记录筛选出来,排除掉字符串的记录。要如何实现,允许写函数,希望写完整过程,谢谢高手指教
举例说明:id    flarea
           1    139.00
           2    148.00
           3    133.00
           4     其他
           5    122.00
           6    平方米
           7     其他
           8     平方筛选得到:id    flarea
           1    139.00
           2    148.00
           3    133.00
           5    122.00

解决方案 »

  1.   

    实测数据:CREATE TABLE T84
    (
        ID NUMBER(4),
        flarea VARCHAR2(20)
    );       
    INSERT INTO T84 VALUES(1, '139.00');
    INSERT INTO T84 VALUES(2, '148.00');
    INSERT INTO T84 VALUES(3, '133.00');
    INSERT INTO T84 VALUES(4, '其它');
    INSERT INTO T84 VALUES(5, '122.00');
    INSERT INTO T84 VALUES(6, '平方米');
    INSERT INTO T84 VALUES(7, '其它');
    INSERT INTO T84 VALUES(8, '平方');实测结果:
      

  2.   

    那如果数据多了些特殊情况,要怎么写
    举例说明:id flarea
      1 0.123
      2 148.00
      3 03.780
      4 000123
      5 122.78
      6 平方米
      7 其他
      8 0123.78筛选得到:id flarea
      1 0.123
      2 148.00
      5 122.78
    因为面积肯定是正常的数值
      

  3.   

    先to_number(),再to_char() 看他们的length