oracle中查找一个字符串中某个字符的位置是啥函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中查找一个字符串中某个字符的位置是啥函数相关的知识,希望对你有一定的参考价值。

instr函数为字符查找函数,其功能是查找一个字符串在另一个字符串中首次出现的位置。instr函数在Oracle/PLSQL中是返回要截取的字符串在源字符串中的位置。
int
index=
instr(“abcd”,
'c');
index=
扩展资料:
注意
位置索引号从1开始。
如果String2在String1中没有找到,instr函数返回0。
示例:
SELECT
instr('syranmo','s')
FROM
dual;
--
返回
1
SELECT
instr('syranmo','ra')
FROM
dual;
--
返回
3
SELECT
instr('syran
mo','at',1,2)
FROM
dual;
--
返回
0。
参考资料来源:百度百科-instr函数
参考技术A 查找位置的函数为instr函数。下标以1开始,如果不存在则返回0。
举例如下:
1、创建测试表,
create
table
test_instr(str
varchar2(20));
2、插入测试数据
insert
into
test_instr
values
('abc');
insert
into
test_instr
values
('cdaf');
insert
into
test_instr
values
('bbed');
3、查询表的记录,select
t.*,
rowid
from
test_instr
t;
4、编写sql,查找字母'a'在表中各记录的位置;
select
t.*,
instr(str,'a')
location
from
test_instr
t,可以发现,最后一条记录,不存在该字符的话,则返回0。
参考技术B 在oracle查找一个字符串中某个字符位置用instr函数。
如以下语句:
select instr('abcdefg','f') from dual;此句是查f在abcdefg这个字符串中的位置,查询结果:

Oracle字符串截取

参考技术A

  关于Oracle里面的一些小函数

  要求 A 数据库表中的一个字符串  可能含有 + 例 ORC+

  也可能不含 +

  B 要求如果该字符串含有 + 则取 + 之前的字符 例 ORC+ 取ORC

  C 如果该字符串不含 + 则直接取该字符串

  解答 利用ORACLE中 INSTR SUBSTR以及CASE WHEN语法即可实现

  Oracle中函数

  INSTR INSTR方法的格式为

  INSTR(源字符串 目标字符串 起始位置 匹配序号)

  默认查找顺序为从左到右 当起始位置为负数的时候 从右边开始查找

  例 Select INSTR( ORC+ + ) From dual

  返回的是"4" 如果该字符串没有匹配字符 返回的是 0

  SUBSTR 取子字符串 取子字符串

  SUBSTR(源字符串 起始位置 要取多少位)

  从 起始位置 开始 取 多少"个

  例 Select SUBSTR( ORC+ ) From dual;

  返回的是 ORC

  全例如下

  表T_RCV_ISSUE

  WH_CD字段

  取 WH_CD 如果该字段包含 + 取 + 之前的字符

  如果该字段没有 + 取整个字段

  T_RCV_ISSUE表

  WH_CD 分别为 MR PS+ MR WS MR WS+ MR PS

  执行

  SELECT CASE

  WHEN INSTR(WH_CD + ) >

  THEN SUBSTR(WH_CD INSTR(WH_CD + ) )

  ELSE WH_CD

  END AS WH_CD

  FROM   T_RCV_ISSUE

lishixinzhi/Article/program/Oracle/201311/17245

以上是关于oracle中查找一个字符串中某个字符的位置是啥函数的主要内容,如果未能解决你的问题,请参考以下文章

oracle怎样查找某个字符所在字符串第n次出现的位置

sql语句中字符串的连接符是啥?

Oracle字符串截取

oracle查询一个字符串中有字母

oracle的常用函数 instr() 和substr()函数

JS查找某个字符在字符串中出现的位置及次数