PL/SQL提取某个字段第一个出现的数字。例如从'商501啊啊'中提取出'5',要求提取出的值为int型。

要求将提取出的数字赋值给字段'名义层号',请给出PL/SQL语句。

两种方法
--1、translate
select substr(translate('商501啊啊','0123456789'||'商501啊啊','0123456789'),1,1) from dual;
 
--2、正则表达式
select substr(regexp_replace('商501啊啊','[^0-9]'),1,1) from dual;

追问

如果把sde.fw_h表中'snbw'字段中第一个出现的数字复制给sde.fw_h表中‘myc’字段,PL/SQL语句怎么写啊?(其中snbw为字符型,myc为整型)。意思是根据室号部位“商501”就可以计算出名义层是5。

温馨提示:答案为网友推荐,仅供参考
相似回答