当前位置: 代码迷 >> Oracle管理 >> 数据筛选,该怎么解决
  详细解决方案

数据筛选,该怎么解决

热度:92   发布时间:2016-04-24 05:36:01.0
数据筛选
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

------解决方案--------------------
实测数据:
SQL code
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, '平方');
------解决方案--------------------
先to_number(),再to_char() 看他们的length
------解决方案--------------------
探讨
那如果数据多了些特殊情况,要怎么写
举例说明: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
因为面积肯定是正常的数值
  相关解决方案