oracle从字符串中提取数字

–纯数字,没有文本的情况 
SELECT to_number(regexp_substr(‘18’,’[0-9]+’)) FROM dual 
–数字在最前面的情况 
SELECT to_number(regexp_substr(‘18根’,’[0-9]+’)) FROM dual 
–数字在中间的情况 
SELECT to_number(regexp_substr(‘第18根’,’[0-9]+’)) FROM dual 
–数字在最后面的情况 
SELECT regexp_substr(‘根18’,’[0-9]+’) FROM dual 
–只有文本没有数字的情况,转换成0 
SELECT nvl(regexp_substr(‘根’,’[0-9]+’),0) FROM dual

你可能感兴趣的:(oracle)