[TEST@orcl] SQLwith t1 as(
创新互联总部坐落于成都市区,致力网站建设服务有成都做网站、网站制作、网络营销策划、网页设计、网站维护、公众号搭建、小程序制作、软件开发等为企业提供一整套的信息化建设解决方案。创造真正意义上的网站建设,为互联网品牌在互动行销领域创造价值而不懈努力!
2 select 'PP1109' a from dual
3 union
4 select 'PP1107' from dual
5 union
6 select 'PVC112' from dual
7 union
8 select 'PVC113' from dual)
9 select regexp_substr(a,'[A-Z|a-z]+',1) from t1;
REGEXP_SUBST
------------
PP
PP
PVC
PVC
表示不知道怎么去除英文字母
如果我是你的话,看你这个查询结果,是不是只是想把最后的 “!csl_……” 给删了?
你可以substr(权限模块,0,instr(权限模块,'!csl_'))啊。只针对我看到的你的这张图片,看着有点规律可这样用。
[TEST@orcl]
SQLwith
t1
as(
2
select
'PP1109'
a
from
dual
3
union
4
select
'PP1107'
from
dual
5
union
6
select
'PVC112'
from
dual
7
union
8
select
'PVC113'
from
dual)
9
select
regexp_substr(a,'[A-Z|a-z]+',1)
from
t1;
REGEXP_SUBST
------------
PP
PP
PVC
PVC
可能不会太简单,单纯用函数会麻烦很多吧?
可以建一个中间表
id name
1 A
2 B
.........
27 AA
.........
或者你试一下decode函数吧,具体的就不给你讲了,是个转换函数,不过大于64能否转,没试过
你好!
你可以先把这个字符串查询出来。然后截取字符串的后两位,然后用正则表达式去判断,
如有疑问,请追问。