在oracle中,instr方法用于對某個字符串進行判斷,判斷是否含有指定的字符,該方法能夠在一個字符串中查找指定的字符,返回被查找到的指定的字符的位置,語法為“instr('源字符串','目標字符串','開始位置','第幾次出現(xiàn)')”。
本教程操作環(huán)境:windows10系統(tǒng)、Oracle 11g版、Dell G3電腦。
oracle中instr方法怎么用
一、instr函數(shù)的概念
在Oracle中可以使用instr函數(shù)對某個字符串進行判斷,判斷其是否含有指定的字符。在一個字符串中查找指定的字符,返回被查找到的指定的字符的位置。
二,語法
instr(sourceString,destString,start,appearPosition) instr('源字符串' , '目標字符串' ,'開始位置','第幾次出現(xiàn)')
其中sourceString代表源字符串;
destString代表要從源字符串中查找的子串;
start代表查找的開始位置,這個參數(shù)可選的,默認為1;
appearPosition代表想從源字符中查找出第幾次出現(xiàn)的destString,這個參數(shù)也是可選的, 默認為1
如果start的值為負數(shù),則代表從右往左進行查找,但是位置數(shù)據(jù)仍然從左向右計算。
返回值為:查找到的字符串的位置。如果沒有查找到,返回0。
三,舉例:
在abcd中查找a的位置,從第一個字母開始查,查找第一次出現(xiàn)時的位置(后面兩個參數(shù)可以不寫,默認為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
該函數(shù)可以用于模糊查詢以及判斷包含關系:
例如:
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視頻教程》