暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

substr+instr截取字符串

原创 章芋文 2012-07-03
824
instr(str_1,str_2) 获取str_1中第一次出现str_2的位置,结果为数字
substr(str_1,num_1,num_2) 截取str_1字符串从num_1到num_2的字符串,因此即可用instr代替里面的num_1或者num_2,来达到根据特殊字符标识来截取字符串。



[code]
SQL> select seqno from visit_new where rownum<2;

SEQNO
--------------------------------------------------------------------------------

241--20120608---12----02696


SQL> select instr('241--20120608---12----02696','--') from dual;

INSTR('241--20120608---12----02696','--')
-----------------------------------------
4

SQL> select instr('241--20120608---12----02696','---') from dual;

INSTR('241--20120608---12----02696','---')
------------------------------------------
14

SQL> select instr('241--20120608---12----02696','----') from dual;

INSTR('241--20120608---12----02696','----')
-------------------------------------------
19

SQL> select substr('241--20120608---12----02696',0,instr('241--20120608---12----
02696','--')) from dual;

SUBS
----
241-

SQL> select substr('241--20120608---12----02696',0,instr('241--20120608---12----
02696','--')-1) from dual;

SUB
---
241

SQL> select substr('241--20120608---12----02696',instr('241--20120608---12----02
696','--')+2,8) from dual;

SUBSTR('
--------
20120608

SQL> select to_date(substr('241--20120608---12----02696',instr('241--20120608---
12----02696','--')+2,8),'yyyy-mm-dd') from dual;

TO_DATE(SUBSTR
--------------
08-6月 -12

SQL> select to_date(substr('241--20120608---12----02696',instr('241--20120608---
12----02696','--')+2,8),'yyyy-mm-dd')-1 from dual;

TO_DATE(SUBSTR
--------------
07-6月 -12[/code]
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论