instr()函式的用法
**語法:
instr(sourceString,destString,start,appearPosition)
instr(’源字串’ , ‘目標字串’ ,’開始位置’,’第幾次出現’)**
1.sourceString代表源字串; destString代表要從源字串中查詢的子串;
2.start代表查詢的開始位置,這個引數可選的,預設為1;
3.appearPosition代表想從源字元中查找出第幾次出現的destString,這個引數也是可選的, 預設為1
4.如果start的值為負數,則代表從右往左進行查詢,但是位置資料仍然從左向右計算。
5.返回值為:查詢到的字串的位置。如果沒有查詢到,返回0。
最簡單例子:
在abcd中查詢a的位置,從第一個字母開始查,查詢第一次出現時的位置
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
應用於模糊查詢:instr(欄位名/列名, ‘查詢欄位’)
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’);