在oracle中,instr方法用于對某個字符串進行判斷,判斷是否含有指定的字符,該方法能夠在一個字符串中查找指定的字符,返回被查找到的指定的字符的位置,語法為“instr(‘源字符串’,’目標字符串’,’開始位置’,’第幾次出現’)”。
本教程操作環境:windows10系統、Oracle 11g版、Dell G3電腦。
oracle中instr方法怎么用
一、instr函數的概念
在Oracle中可以使用instr函數對某個字符串進行判斷,判斷其是否含有指定的字符。在一個字符串中查找指定的字符,返回被查找到的指定的字符的位置。
二,語法
instr(sourceString,destString,start,appearPosition)? instr('源字符串'?,?'目標字符串'?,'開始位置','第幾次出現')
其中sourceString代表源字符串;
destString代表要從源字符串中查找的子串;
start代表查找的開始位置,這個參數可選的,默認為1;
appearPosition代表想從源字符中查找出第幾次出現的destString,這個參數也是可選的, 默認為1
如果start的值為負數,則代表從右往左進行查找,但是位置數據仍然從左向右計算。
返回值為:查找到的字符串的位置。如果沒有查找到,返回0。
三,舉例:
在abcd中查找a的位置,從第一個字母開始查,查找第一次出現時的位置(后面兩個參數可以不寫,默認為1)
select?instr('abcd','a',1,1)?from?dual;?---1 select?instr('abcd','c',1,1)?from?dual;?---3 select?instr('abcd','e',1,1)?from?dual;?---0
該函數可以用于模糊查詢以及判斷包含關系:
例如:
select?code,name,dept,occupation?from?staff?where?instr(code,?'001')>?0;
等同于
select?code,?name,?dept,?occupation?from?staff?where?code?like?'%001%'?; select?ccn,mas_loc?from?mas_loc?where?instr('FH,FHH,FHM',ccn)>0;
等同于
select?ccn,mas_loc?from?mas_loc?where?ccn?in?('FH','FHH','FHM');
推薦教程:《Oracle視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦