有个字符串“aa-bb-cc-dd”,我想得到bb,如何截取第一个杠和第二个杠直接的内容呢,请高手指点,谢谢!
解决方案 »
- 如何让oracle还原成刚安装完oracle的状态哈?之前不小心复制了一些sql现在oracle出问题了想恢复成刚安装的状态!求大神解答,在线等人气伺候着!!!
- PL/SQL developer
- 求助:除了建立索引之外,如何能更快速的查找到某数据表中的一条记录?
- 【请教】语句级触发器能得到是那条语句触发的嘛?
- ORACLE IMP 未知字符集标记错误 高手来帮忙啊!!
- 请教一个Oracle11g在量并发查询下不能正常获取数据的问题
- oracle 索引组织表的问题
- 字符串插入表的问题,各位高手帮忙!!!
- "STANDARD 包不可访问 DBMS_APPLICATION_INFO 时出错" 这是什么错?
- 如何做双机热备份?
- 没分请教
- ORA-00972:标识符过长
SQL> select substr('aa-bb-cc-dd',4,2) from dual;SUBSTR('AA-BB-CC-DD',4,2)
-------------------------
bb
--如果第一个(-)和第二个(-)之间有多个值的或,得用正则表达式来做:
SQL> select regexp_substr('aa-bb-cc-dd','[^-]+',1,2) str from dual;
STR
---
bbSQL> select regexp_substr('aa-bbyyyyyyyyyyy-cc-dd','[^-]+',1,2) str from dual;
STR
-------------
bbyyyyyyyyyyySQL> select regexp_substr('aa-bbyyyyeeer-cc-dd','[^-]+',1,2) str from dual;STR
----------
bbyyyyeeerSQL> select regexp_substr('aa-bb5454545tytrytytghgr-cc-dd','[^-]+',1,2) str from dual;
STR
---------------------
bb5454545tytrytytghgrSQL> select regexp_substr('aa-CSDN_yeeXun-cc-dd','[^-]+',1,2) str from dual;
STR
-----------
CSDN_yeeXun
instr('hello-boy-goodbye', '-', 1, 1) + 1,
instr('hello-boy-goodbye', '-', 1, 2) -
instr('hello-boy-goodbye', '-', 1, 1) - 1)
from dual
第二种 正则表达式太复杂,我不怎么用,不做评价