Oracle中的函数instr函数

来源:互联网 发布:手机打卡考勤软件 编辑:程序博客网 时间:2024/04/30 20:33

一、instr函数

instr(需要进行处理的字符串   ,         需要进行匹配的字符串      ,      从第几个开始匹配      ,    匹配第几个)

例子1:

select instr('abacddddae','a',1,1)from dual
语言描述此SQL:在字符串 'abacddddae'中从第一 个字符开始查找 第一个出现的 字符 'a'的位置。
答案肯定 就是 1了。

例子2:

select instr('abacddddae','a',1,2)from dual
语言描述此SQL:在字符串 'abacddddae'中从 第一 个字符开始查找 第二个出现的 字符 'a'的位置。
答案肯定 就是 3了。

例子3:

select instr('abacddddae','a',2,1)from dual
语言描述此SQL:在字符串 'abacddddae'中从 第二 个字符开始查找 第一个出现的 字符 'a'的位置。
答案肯定 就是 3了。

例子4:

select instr('abacddddae','a',3,2)from dual
语言描述此SQL:在字符串 'abacddddae'中从 第三 个字符开始查找 第二个出现的 字符 'a'的位置。
答案肯定 就是 9了。


例子5(延伸):

select instr('abacddddae','a',1,rownum)from dualconnect by rownum <= 3
语言描述此SQL:在字符串 'abacddddae'中从 第一个字符开始查找 第n个出现的 字符 'a'的位置。

n为:如果是第一条记录,n=1,第二条记录,n=2...
答案肯定 就是 1,3,9了。

例子6

请尝试写出(不执行)以下两个SQL的结果:

select instr('abacddddae','a',rownum,rownum)from dualconnect by rownum <= 3
2

select instr('abacddddae','a',rownum)from dualconnect by rownum <= 9

总结:请尝试体会例子5的写法


0 0
原创粉丝点击