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

请教oracle字符串截取问题
各位大神,请教一个oracle字符串截取的问题。
如何将A01截取成1.
我知道可以用正则表达式将A01截取成01,但是如何将01截取成1呢?

------解决方案--------------------
SQL code

select to_number(regexp_substr('A01','[0-9]+')) from dual;
/*
1
*/

------解决方案--------------------
SQL code

--如果有小數
select to_number(regexp_substr('A01.3','[0-9]+[.]?[0-9]*')) from dual;
/*
1.3
*/

------解决方案--------------------
SQL code
select regexp_replace('01', '^0', '') from dual;
select regexp_replace('01234', '^0', '') from dual;
select regexp_replace('1234', '^0', '') from dual;

------解决方案--------------------
select regexp_replace('A01', '^[a-zA-Z0]+', '') from dual;
select regexp_replace('A01234', '^[a-zA-Z0]+', '') from dual;