oracle中substr和instr的用法

2021-05-22 16:15:49 字數 1378 閱讀 2675

網上蒐集的,整理下

1、substr(string string, int a, int b)

引數1:string 要處理的字串

引數2:a 擷取字串的開始位置(起始位置是0)

引數3:b 擷取的字串的長度(而不是字串的結束位置)

例如:

substr("abcdefg", 0); //返回:abcdefg,擷取所有字元

substr("abcdefg", 2); //返回:cdefg,擷取從c開始之後所有字元

substr("abcdefg", 1, 3); //返回:abc,擷取從a開始3個字元 ,這裡開始是1和3返回都是乙個字串

substr("abcdefg", 1, 100); //返回:abcdefg,100雖然超出預處理的字串最長度,但不會影響返回結果,系統按預處理字串最大數量返回。

substr("abcdefg", 0, -3); //返回:efg,注意引數-3,為負值時表示從尾部開始算起,字串排列位置不變。

2、substr(string string, int a)

引數1:string 要處理的字串

引數2:a 可以理解為從索引a(注意:起始索引是0)處開始擷取字串,也可以理解為從第 (a+1)個字元開始擷取字串。

例如:

substr("abcdefg", 0); //返回:abcdefg, 擷取所有字元

substr("abcdefg", 2); //返回:cdefg,擷取從c開始之後所有字元

1.instr

在oracle/plsql中,instr函式返回要擷取的字串在源字串中的位置。

string1 源字串,要在此字串中查詢。

string2 要在string1中查詢的字串.

start_position 代表string1 的哪個位置開始查詢。此引數可選,如果省略預設為1. 字串索引從1開始。如果此引數為正,從左到右開始檢索,如果此引數為負,從右到左檢索,返回要查詢的字串在源字串中的開始索引。

注意:如果string2在string1中沒有找到,instr函式返回0.

應用於:

舉例說明:

select instr('abc','a') from dual;    -- 返回 1

select instr('abc','bc') from dual; -- 返回 2

select instr('abc abc','a',1,2) from dual; -- 返回 5

select instr('abc','bc',-1,1) from dual; -- 返回 2

select instr('abc','d') from dual; -- 返回 0

Oracle中INSTR和SUBSTR的用法

oracle中instr和substr的用法 oracle中instr的用法 instr方法的格式為 instr 源字串,要查詢的字串,從第幾個字元開始,要找到第幾個匹配的序號 返回找到的位置,如果找不到則返回0.例如 instr corporate floor or 3,2 中,源字串為 corp...

Oracle中INSTR和SUBSTR的用法

oracle中instr和substr的用法 oracle中instr的用法 instr方法的格式為 instr 源字串,要查詢的字串,從第幾個字元開始,要找到第幾個匹配的序號 返回找到的位置,如果找不到則返回0.例如 instr corporate floor or 3,2 中,源字串為 corp...

Oracle中INSTR和SUBSTR的用法

oracle中instr的用法 instr方法的格式為 instr 源字串,要查詢的字串,從第幾個字元開始,要找到第幾個匹配的序號 返回找到的位置,如果找不到則返回0.例如 instr corporate floor or 3,2 中,源字串為 corporate floor 在字串中查詢 or 從...