1. 程式人生 > >oracle中的substr() instr() 用法

oracle中的substr() instr() 用法

原文章:https://www.cnblogs.com/miaoying/p/5784947.html點選開啟連結

--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--效果一樣