首页 > 代码库 > oracle中substr() instr() 用法

oracle中substr() instr() 用法

--substr(字符串,截取开始位置,截取长度)=返回截取的字
select substr(miaoying,0,1) from dual;--返回结果为:m
select substr(miaoying,1,1) from dual;--返回结果为:m--说明0和1都表示截取的位置为第一个字符
select substr(miaoying,-7,4) from dual;--返回结果为:iaoy--负数表示:-7表示从右边开始数第七位开始,也就是i,截取长度为4的字符串
  
--instr(源字符串,目标字符串,起始字符串,匹配字符串)=返回要截取的字符串在源字符串中的位置,从字符的开始,只检索一次
--instr(string1,string2,index1,index2) 表示:要在string1的index1号位置,开始查找,第index2次,出现的string2
select instr(miaoying,i,2,2) from dual;--返回6:也就是说:在"miaoying"的第2号位置开始,查找第二次出现的i的位置
select instr(miaoying,k,2,2)from dual;--返回0:即如果查找不到,则返回0
select instr(miaoying,i) from dual;--返回2
select instr(miaoying,yi) from dual;--返回5:即"yi"的y的位置
select instr(miaoying,i,-1,2) from dual;--返回2:
--空格也是字符。。。。。

select * from omgnode a where name like %miaoying%
select * from omgnode a where instr(name,miaoying)>0--效果一样

 

oracle中substr() instr() 用法