oracle中INSTR函式的用法

2022-04-05 08:55:30 字數 837 閱讀 9595

今天有個同學問我這個instr函式,我也不太清楚就上網查了查做乙個小小的記錄吧

instr(c1,c2,i,j) 

在乙個字串中搜尋指定的字元,返回發現指定的字元的位置; 

c1 被搜尋的字串 

c2 希望搜尋的字串 

i 搜尋的開始位置,預設為1 

j 出現的位置,預設為1 

sql> select instr(oracle traning,ra,1,2) instring from dual; 

instring 

--------- 

9 他的位置搜尋是從1開始的也就是說o的位置是1,這點要分清楚。

instr方法的格式為

instr(源字串, 要查詢的字串, 從第幾個字元開始, 要找到第幾個匹配的序號)

返回找到的位置,如果找不到則返回0.

例如:instr('corporate floor','or', 3, 2)中,源字串為'corporate floor', 在字串中查詢'or',從第三個字元位置開始查詢"or",取第三個字後第2個匹配項的位置。

預設查詢順序為從左到右。當起始位置為負數的時候,從右邊開始查詢。

所以select instr('corporate floor', 'or', -1, 1) "aaa" from dual的顯示結果是

instring

——————

1這個最巧妙的我感覺還是用在有幾個固定值的order by中

eg:order by instr("1,0,-1,2,8,9",mark,1,1)是不是感覺很方便。

希望可以幫到大家

引用原文:

Oracle中的instr函式

在oracle pl sql中,instr函式返回string2在string1中出現的位置,語法如下 例項1.從起始位置開始搜尋,第一次出現子串的位置 sql select instr chen linbo bobo12082119 bo 1,1 from dual instr chen linb...

Oracle中的instr 函式

格式一 instr string1,string2 instr 源字串,目標字串 注 在oracle plsql中,instr函式返回要擷取的字串在源字串中的位置。只檢索一次,也就是說從字元的開始到字元的結尾就結束。1 select instr helloworld l from dual 返回結果...

Oracle中 Instr 這個函式

sql charindex 字串 字段 0 charindex administrator muserid 0 oracle instr 字段,字串 1,1 0 instr muserid,administrator 1,1 0 在專案中用到了oracle中 instr 這個函式,順便仔細的再次學習...