问题描述
前期数据录入时,业务表的中文名和英文名都混合在一起了,由于数据较多,一条条清洗较为复杂,发现oracle可以有个函数可以解析字符串:regexp_substr
解决办法
select table_name
, regexp_substr(table_name,'([A-Z]+[_]?[0-9]*)+') as table_name_en
from (
select '1 患者基本信息表(MS_BRDA)' as table_name from dual union all
select '1 处方信息表(MS_CF01)' as table_name from dual
) x
执行结果如下:
–END–