Oracle Instr 的特殊用法

2021-08-30 00:26:13 字數 985 閱讀 8370

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 的特殊用法

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 ...