ITPub博客

首页 > 数据库 > Oracle > Oracle中Instr()和substr()函数

Oracle中Instr()和substr()函数

Oracle 作者:aq171717 时间:2013-06-06 16:17:08 0 删除 编辑
在Oracle中

可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。

其语法为:
instr(sourceString,destString,start,appearPosition).   instr('源字符串' , '目标字符串' ,'开始位置','第几次出现')
其中sourceString代表源字符串;

destString代表想聪源字符串中查找的子串;

start代表查找的开始位置,该参数可选的,默认为1;

appearPosition代表想从源字符中查找出第几次出现的destString,该参数也是可选的,默认为1;


如果start的值为负数,那么代表从右往左进行查找,但是位置数据仍然从左向右计算。

返回值为:查找到的字符串的位置。

对于instr函数,我们经常这样使用:从一个字符串中查找指定子串的位置。例如:
SQL> select instr('yuechaotianyuechao','ao') position from dual;

POSITION
----------
         6

从第7个字符开始搜索
SQL> select instr('yuechaotianyuechao','ao', 7) position from dual;

POSITION
----------
        17

从第1个字符开始,搜索第2次出现子串的位置
SQL> select instr('yuechaotianyuechao','ao', 1, 2) position from dual;

POSITION
----------
        17

 注意:1。若‘起始位置’=0 时返回结果为0,
           2。这里只有三个参数,意思是查找第一个要查找字符的位置(因为 ‘第几次出现’默认为1),
当‘起始位置’不大于要查找的第一个字符的位置时,返回的值都将是第一个字符的位置,如果‘起始位置’大于要查找的第一个字符的位置时,返回的值都将是第2个字符的位置,依此类推……(但是也是以第一个字符开始计数)


substr函数的用法,取得字符串中指定起始位置和长度的字符串  ,默认是从起始位置到结束的子串。

 substr( string, start_position, [ length ] )       substr('目标字符串',开始位置,长度)
如: 
     substr('This is a test', 6, 2)     would return 'is' 
     substr('This is a test', 6)     would return 'is a test' 
     substr('TechOnTheNet', -3, 3)     would return 'Net' 
     substr('TechOnTheNet', -6, 3)     would return 'The'select substr('Thisisatest', -4, 2) value from dual
<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22159200/viewspace-1117553/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-07-21