oracle中instr方法怎么用

oracle中,instr方法用于對某個字符串進行判斷,判斷是否含有指定的字符,該方法能夠在一個字符串中查找指定的字符,返回被查找到的指定的字符的位置,語法為“instr(‘源字符串’,’目標字符串’,’開始位置’,’第幾次出現’)”。

oracle中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
喜歡就支持一下吧
點贊13 分享