目录

instr-方法-参数说明及使用

instr() 方法 参数说明及使用

–instr(str1,str2[,num1,num2]) “[,num1,num2]” 为可选参数

–str1 :被搜索的目标

–str2 :希望搜索的目标

–num1 :str1 的检索开始位置 ,默认为 1 ,(从左往右检索),若为 负数,则从右往左检索

–num2 :str2 在 str1 出现的第 num2 次的位置,默认为 1

  1. 简单例子

–第一次出现的位置

select instr('sfadfzhaisdaio','ai',1,1) A from dual;

–结果

—A

– 8

–第二次出现的位置

select instr('sfadfzhaisdaio','ai',1,2) A from dual;

–结果

—-A

– 12

–从右往左检索

select instr('sfadfzhaisdaio','ai',-1,1) A from dual;

–结果

—A

—12

2.应用小技巧

可应用于查询结果集排序:

自定义将某字段 组合成 str – (bs、ee、33、s) 想 将 按照 s 、ee、 33、bs 排序

select forder from (
select  'bs'  forder from dual 
union
select  'ee'  from dual
union
select  '33'  from dual
union
select  's'  from dual
) order by  instr('s 、ee、 33、bs', forder)   ;

https://img-blog.csdn.net/20170717192242659?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZnVndXNoaWJh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast