当前位置: 代码迷 >> Oracle管理 >> 怎么把一个字段里面的数值型的行都挑选出来?顶者有分
  详细解决方案

怎么把一个字段里面的数值型的行都挑选出来?顶者有分

热度:95   发布时间:2016-04-24 05:59:07.0
如何把一个字段里面的数值型的行都挑选出来?顶者有分
比如说表A,有一个varchar2(50)字段a,数据如下:
a
-------------
29874
49a409b
k0283
487
bm
93

如何写一个sql语句把只含有数值的行检索出来?
我想得到的结果是:

a
-------------
29874
487
93


(注:49a409b、k0283、bm都包含有字母,故不是我想要的结果!)




------解决方案--------------------
create table a(a varchar2(20));
insert into a values( '29874 ');
insert into a values( '49a409b ');
insert into a values( 'k0283 ');
insert into a values( '487 ');
insert into a values( 'bm ');
insert into a values( '93 ');
commit;

select a from a where nvl2(replace(translate(a, '.0123456789 ', '000000000000 '), '0 ', ' '), '字符 ', '数字 ')= '数字 ';
A
--------------------
29874
487
93


------解决方案--------------------
nvl2 的作用
nvl(a,b,c)如a为空就取b,不为空就取C
  相关解决方案