使用Oracle函数的方法
在甲骨文/ PLSQL,该函数返回字符串的位置是在源字符串截取。只有一次,是从字符的字符开始的字符结束。
语法如下:
仪器(string1,string2 {,start_position nth_appearance {,})
参数分析:
string1
要在这个字符串中找到的源字符串。
STRING2
你想找到的字符串string1。
start_position
这位置代表一开始抬头。此参数是可选的,如果省略默认1。字符串索引从1开始。如果这个参数是正的,搜索从左向右开始。如果该参数为负,则从右向左搜索,并返回要在源字符串中搜索的字符串的初始索引。
nth_appearance
代表找到string2的数量。这个参数是可选的,如果省略,默认值是1。如果否定系统是错误的。
注:
如果string2在string1的不存在,函数返回0。
实例:
选择工具('syranmo ',')从双;返回1
选择工具('syranmo ','ra)从双;返回3
选择工具('syran莫',' ',1,2)从双;返回0
(根据条件,因为A只出现一次,第四个参数2,也就是说,A的位置在第二次出现,显然第二次不再出现,所以结果返回0。注意空间也是一个字符!)
选择工具('syranmo ',一个',-1,1)从双;返回4
(即使从右到左,索引的位置是查看左的第一个字母的位置,所以这里返回4)
选择工具(ABC,会)从双;返回0
注意:你也可以使用这个功能来检查是否含有string2 string1返回0,如果不包括,否则夹杂。
针对以上情况,我们可以使用函数。请看下面的例子:
如果我有一份资料,上面有一些员工,(现场:代码),但我已经检查了所有的工作人员,他们现在如姓名、部门、职业等,这里是两个员工为例,工号are'a10001 ','a10002,假设员工员工表,正常的做法如下:
选择代码,姓名,部门,员工,职业代码('a10001 ','a10002);
或:
选择代码,姓名,部门,职业人员在代码= 'a10001'or代码代码= =;
有时会有更多的员工,我们觉得更麻烦,所以我想,你能给它一个单一的指南吗这时可以使用函数,如下:
选择代码,姓名,部门,员工,指导职业('a10001,a10002,代码);
结果是一样的。它只有两个单引号,比较方便。
还有一个用途,如下所示:
选择代码,姓名,部门,员工,指导职业(代码,'001)> 0;
等同于
从像% 001 %这样的代码中选择代码、名称、部门、职业;
Oracle函数使用实例
该仪器方法的格式
仪器(SRC,substr,startIndex计数)
源字符串
substr:子串查找
指数:从几个字。负数表示从右到左。
计数:找到比赛的序列号。
返回值:字符串中的子字符串的位置,第一,1;0。(特别注意:如果SRC是空字符串,返回值为空)。
用法举例:
最简单的一个,寻找L字符,第一个L位于第三个位置。
SQL >选择工具(你好,java世界,L)从双;
仪器(你好,JavaWorld ','我')
----------------------------
三
查找L字符并从第四个位置开始。
SQL >选择工具(你好,java世界,L,4)从双;
仪器(你好,JavaWorld,L,4)
这个
四
从第一个位置找到L字符,第三
SQL >选择工具(你好,java世界,L,1, 3)从双;
仪器(你好,JavaWorld,L,1,
这个
十五
找到L字符,从正确的第一个位置开始,从右到左寻找第三,即从左到右。
SQL >选择工具(你好,java世界,L,1, 3)从双;
仪器(你好,JavaWorld,L,1)
这个
三
找不到回程0
SQL >选择工具(你好,java世界,'mm)从双;
仪器(您好,'mm JavaWorld ',')
在
零
源字符的情况是空字符串''
复制代码代码如下所示:
通过对陈2010-12-22创建
声明
-这里的局部变量
我VARCHAR2(2);
开始
-这里的测试语句
我:=仪器(',',');
如果我是空的话
dbms_output.put_line(空);
最后如果;
结束;
结果输出:
我是空的