Oracle instr函数
下载LOFTER客户端
INSTR
(源字符串, 目标字符串, 起始位置, 匹配序号)
在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始
到字符的结尾就结束。
语法如下:
instr( string1, string2 [, start_position [, nth_appearance ] ] )
参数分析:
string1
源字符串,要在此字符串中查找。
string2
要在string1中查找的字符串.
start_position
代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。
nth_appearance
代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。
注意:
如果String2在String1中没有找到,instr函数返回0.
示例:
SELECT instr('syranmo','s') FROM dual; -- 返回 1
SELECT instr('syranmo','ra') FROM dual; -- 返回 3
1 SELECT instr('syran mo','a',1,2) FROM dual; -- 返回 0
(根据条件,由于a只出现一次,第四个参数2,就是说第2次出现a的位置,显然第2次是没有再出现了,所以结果返回0。注意空格也算一个字符!)
SELECT instr('syranmo','an',-1,1) FROM dual; -- 返回 4
(就算是由右到左数,索引的位置还是要看‘an’的左边第一个字母的位置,所以这里返回4)
SELECT instr('abc','d') FROM dual; -- 返回 0
注:也可利用此函数来检查String1中是否包含String2,如果返回0表示不包含,否则表示包含。
对于上面说到的,我们可以这样运用instr函数。请看下面示例:
如果我有一份资料,上面都是一些员工的工号(字段:CODE),可是我现在要查询出他们的所有员工情况,例如名字,部门,职业等等,这里举例是两个员工,工号分别是’A10001′,’A10002′,其中假设staff是员工表,那正常的做法就如下:
1 2 SELECT code , name , dept, occupation FROM staff WHERE code IN ('A10001','A10002');
或者:
SELECT code , name , dept, occupation FROM staff WHERE code = 'A10001' OR code = 'A10002';
有时候员工比较多,我们对于那个’觉得比较麻烦,于是就想,可以一次性导出来么?这时候你就可以用instr函数,如下:
SELECT code , name , dept, occupation FROM staff WHERE instr('A10001,A10002',code)>0;
查询出来结果一样,这样前后只用到两次单引号,相对方便点。
还有一个用法,如下:
SELECT code, name, dept, occupation FROM staff WHERE instr(code, '001') > 0;
等同于
SELECT code, name, dept, occupation FROM staff WHERE code LIKE '%001%' ;
分享到:
相关推荐
Oracle instr 函数与 substr 函数详细说明 oracle 中的 instr 函数和 substr 函数是两种常用的字符串处理函数,它们可以用来处理和操作字符串数据。 Instr 函数 Instr 函数的主要作用是返回要截取的字符串在源...
Oracle数据库中的`substr`和`instr`函数是两个非常实用的字符串处理函数,它们在数据库查询和数据处理中扮演着重要角色。 `substr`函数,全称为“substring”,用于从一个字符串中截取一部分。其基本语法是: ```...
### Informix数据库实现Oracle环境INSTR函数功能 在数据库领域,不同类型的数据库系统可能支持不同的SQL函数特性。例如,Oracle数据库中的`INSTR`函数用于查找一个字符串在另一个字符串中的位置,而Informix数据库...
INSTR (源字符串, 目标字符串, 起始位置, 匹配序号) 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始到字符的结尾就结束。 语法如下: instr( string1, string2 ...
5. INSTR函数:INSTR函数在字符串C1中查找字符C2的位置。例如,INSTR('oracle traning','ra',1,2)返回9,表示在'oracle traning'中第二个'ra'的位置是从第1个字符开始的第9个位置。 6. LENGTH函数:LENGTH函数返回...
5. INSTR函数:INSTR函数在字符串C1中查找C2的位置。例如,INSTR('oracle traning', 'ra', 1, 2)返回9,表示第二个'ra'出现在第9个字符位置。 6. LENGTH函数:LENGTH函数返回字符串的长度。例如,LENGTH('gao')返回...
2. 字符串函数:如SUBSTR(子字符串提取)、INSTR(查找子串位置)、UPPER/LOWER(大小写转换)等,帮助处理文本数据。 3. 日期时间函数:如SYSDATE(获取当前系统日期)、ADD_MONTHS(添加月份)、EXTRACT(提取...
在字符串处理方面,Oracle有CONCAT()用于连接两个或更多字符串,SUBSTR()用于提取字符串的一部分,INSTR()查找子串在字符串中的位置,UPPER()和LOWER()则分别将字符串转换为大写和小写。还有REPLACE()函数可以替换...
5. INSTR函数:INSTR函数用于在一个字符串中查找指定字符或子串的开始位置。例如,INSTR('oracle traning', 'ra', 1, 2)返回9,表示'ra'在字符串中的第二个出现位置。 6. LENGTH函数:LENGTH函数返回字符串的长度。...
Oracle数据库是一个广泛使用的关系型数据库管理系统,它提供了丰富的内置函数来帮助用户处理和操作数据。以下是对标题和描述中提到的Oracle常用函数的详细总结: 1. ASCII 函数:这个函数返回一个字符对应的ASCII码...
Oracle 数据库函数大全集合 Oracle 数据库函数大全集合是一个非常全面的函数集合,包含了多种常用的函数,以下是对每个函数的详细介绍: 1.ASCII 函数 ASCII 函数返回与指定的字符对应的十进制数。例如,SQL> ...
instr函数 instr函数用于从指定的位置开始,从大型对象中查找第N个与模式匹配的字符串。 用于查找内部大对象中的字符串的instr函数语法如下: dbms_lob.instr( lob_loc in blob, pattern in raw, offset in integer...
Oracle 中实现 Split 函数功能 Oracle 中实现 Split 函数功能是指在 Oracle 数据库中实现类似于 C# 等编程语言中的 Split 函数,用于拆分字符的功能。下面是实现 Oracle 中 Split 函数功能的详细介绍。 首先,...
Oracle内置函数是其强大功能的关键组成部分,这些函数极大地丰富了SQL语言的表达能力,使得数据处理和查询更为便捷高效。以下是对Oracle内置函数的详细概述: 1. **数学函数**: - `ABS(x)`:返回x的绝对值。 - `...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其丰富的函数和方法库为SQL查询提供了强大的支持。在日常的数据操作和分析中,掌握一些常用的Oracle函数和方法是至关重要的。以下是对"Oracle最常用的...
在Oracle数据库中,处理字符串的函数非常丰富,如`SUBSTR()`, `INSTR()`, `UPPER()`, `LOWER()`等。`SUBSTR()`用于提取字符串的一部分,`INSTR()`用于查找子字符串在主字符串中的位置,而`UPPER()`和`LOWER()`则分别...
Oracle数据库系统是世界上最广泛使用的数据库管理系统之一,其强大的功能和丰富的内置函数库是其核心竞争力。"Oracle常用函数chm版"是一个集合了多种Oracle数据库常用函数的参考资源,主要包含以下几个方面: 1. **...
Oracle 常用函数大全 Oracle 中有许多常用函数,以下是其中一些: 字符函数 1. ASCII:返回与指定的字符对应的十进制数。例如:`SELECT ASCII('A') FROM DUAL;` 返回 65。 2. CHR:给出整数,返回对应的字符。...
5. INSTR函数:在字符串中查找特定字符或子串的位置。INSTR('oracle traning', 'ra', 1, 2)将返回9,表示第二个'ra'的位置。 6. LENGTH函数:返回字符串的长度,包括空格。例如,LENGTH('高乾竞')将返回3。 7. ...