zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Oracle之instr(字符串包含函数)

Oracle 函数 字符串 包含 instr
2023-09-11 14:18:05 时间

原文地址:https://www.iteye.com/blog/liuzidong-1135549

参考资料
1 oracle函数大全-字符处理函数
http://thinbug.bokele.com/?ArticleID=31453
2 oracle的sql里面有没有测试字符串包含的函数
http://msinye.blog.163.com/blog/static/21721472008513327493/

总结:判断是否包含于字符串,只要判断这个函数执行的结果大于零就行了

Java代码  收藏代码
  1. select * from table where instr(t.name,'天涯')>0  


INSTR(c1,c2,i,j)
示例

Java代码  收藏代码
  1. select instr('123456asdfg','34',1,1) from dual;  


返回结果: 2
INSTR(c1,c2)

Java代码  收藏代码
  1. select instr('123456asdfg','34') from dual;  


返回结果: 3
函数说明:
c1,c2均为字符串,i,j为整数函数返回c2在c1中第j次出现的位置,搜索从c1的第i个字符开始当没有发现需要的字符时返回0,如果i为负数,那么搜索将从右到左进行,但是位置的计算还是从左到右,i和j的缺省值为1.
函数语法:
instr( string , substring [, position [, occurrence]] )
函数返回substring 在string 中第occurrence次出现的位置,搜索从string 的第position 个字符开始当没有发现需要的字符时返回0,如果position 为负数,那么搜索将从右到左进行,但是位置的计算还是从左到右,position 和occurrence的缺省值为1

相关资料: Oracle的instr函数
http://knowyouknowme.iteye.com/blog/554945
引用以上文章
在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置
语法如下:

Sql代码  收藏代码
  1. instr( string1, string2 [, start_position [, nth_appearance ] ] )  


string1 源字符串,要在此字符串中查找。
string2 要在string1中查找的字符串.
start_position 代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。
nth_appearance 代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。
注意:如果String2在String1中没有找到,instr函数返回0.
应用于:Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g
举例说明:

Sql代码  收藏代码
    1. select instr('abc','a') from dual;    -- 返回 1  
    2. select instr('abc','bc') from dual; -- 返回 2  
    3. select instr('abc abc','a',1,2) from dual; -- 返回 5  
    4. select instr('abc','bc',-1,1) from dual; -- 返回 2  
    5. select instr('abc','d') from dual; -- 返回 0