Oracle Instr 的特殊用法

2021-08-30 18:20:35 字數 902 閱讀 2671

oracle instr()的特殊用法

nstr方法的格式為:

instr(源字串, 目標字串, 起始位置, 匹配序號)

例如:instr('corporate floor','or', 3, 2)中,源字串為'corporate floor', 目標字串為'or',起始位置為3,取第2個匹配項的位置。

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

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

instring

——————

14特殊用法:

特殊用法說到底也沒有什麼特別,我們上面看到的「源字串」、「目標字串」都是寫死的,其實它也可以為字段,看下面的例子:

select id, name from users where instr('101914, 104703', id) > 0;

它等價於

select id, name from users where id = 101914 or id = 104703;

用途:採用instr在原因是我在前台連續錄入多個人員的id,想返回這些人員的資料。舉個例子:「王武,男,計算機系學生;曉亮,男,藝術系學生。」

前台,接收輸入的id,用","分開,在後台我不想再對它做分開來處理,就可以使用instr語句,然後再用for loop連線得到的結果。

還有乙個,可能不怎麼常用:

select id, name from users where instr(id, '101') > 0;

等價於select id, name from users where id like '%101%'

對於這樣使用instr的效能怎樣,還沒有做過同比測試。

Oracle Instr 的特殊用法

nstr方法的格式為 instr 源字串,目標字串,起始位置,匹配序號 例如 instr corporate floor or 3,2 中,源字串為 corporate floor 目標字串為 or 起始位置為3,取第2個匹配項的位置。預設查詢順序為從左到右。當起始位置為負數的時候,從右邊開始查詢。...

oracle instr函式的使用

instr 源字串,目標字串,起始位置,匹配序號 在oracle plsql中,instr函式返回要擷取的字串在源字串中的位置。只檢索一次,就是說從字元的開始 到字元的結尾就結束。語法如下 引數分析 string1 源字串,要在此字串中查詢。string2 要在string1中查詢的字串.start...

MySQL用LIKE特殊字元搜尋

sql的like查詢語句中,有一些特殊的字元,需要轉換後才能搜尋到結果 用於包裹搜尋條件,需轉為 用於代替任意數目的任意字元,需轉換為 用於代替乙個任意字元,需轉換為 轉義符號,需轉換為 以下是一些匹配的舉例。select from table where title like a b 搜尋a b ...