有一个字段 name
gaga/gaga/aa
fa/gda
dfa/gads/ga/ga
比如有这些值,我怎么取这个字段最后一个/后面的值
name
aa
gda
aa结果这样
gaga/gaga/aa
fa/gda
dfa/gads/ga/ga
比如有这些值,我怎么取这个字段最后一个/后面的值
name
aa
gda
aa结果这样
解决方案 »
- 为什么要把俩个条件分开写??
- 哪位大哥帮我解决一下,小弟不急呀.
- oracle 10g不支持64位的
- erwin建立视图为什么不支持英文字符呢?请高手指教下,非常感谢!
- 关于Oracle 触发器的问题
- 如何在存储过程中把 select count(*) from tb1的返回值赋给变量,在线等
- 求一sql语句
- 求助:求教一个在Oracle Application运行Report的问题,请高手解答
- Oracle菜鸟求教:如何增加Oracle的进程连接数呀?在线等待
- 我是一个oracle初学者,安装了oracle服务器版后,却看不到数据库中的表,用toad却能看到...
- 关于触发器的问题
- oracle replace的问题
--举例如下,你的表自已替换下就可以了
select replace(regexp_substr('gaga/gaga/aa','/[[:alpha:]]*$'),'/','') from dual;
先利用instr反向查找/的位置,然后substr取子字符串
select replace(regexp_substr('gaga/gaga/aa','/[[:alpha:]]*$'),'/','') from dual;
regexp_substr 说这个是无效标示符哎
SQL> select replace(regexp_substr('gaga/gaga/aa','/[[:alpha:]]*$'),'/','') from dual;RE
--
aa
--方法1:
SQL> with tmp as
2 (
3 select 'gaga/gaga/aa' name from dual union all
4 select 'fa/gda' name from dual union all
5 select 'dfa/gads/ga/ga' name from dual
6 )
7 select replace(regexp_substr(name,'/[[:alpha:]]*$'),'/','') name from tmp;
NAME
----------------------------
aa
gda
ga
--方法2:
SQL> with tmp as
2 (
3 select 'gaga/gaga/aa' name from dual union all
4 select 'fa/gda' name from dual union all
5 select 'dfa/gads/ga/ga' name from dual
6 )
7 select substr(name, instr(name, '/', -1) + 1) name from tmp;
NAME
----------------------------
aa
gda
ga