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%' ;
转自 : 【http://blog.163.com/liu_yang1234/blog/static/2447431020112290109559/】
相关推荐
VB 中 InStr 函数的使用和实现文本查找功能 VB 中的 InStr 函数是一个非常重要和常用的函数,它可以返回指定字符串在另一个字符串中最先出现的位置。其语法为 InStr([start, ]string1, string2[, compare]),其中 ...
### Informix数据库实现Oracle环境INSTR函数功能 在数据库领域,不同类型的数据库系统可能支持不同的SQL函数特性。例如,Oracle数据库中的`INSTR`函数用于查找一个字符串在另一个字符串中的位置,而Informix数据库...
Oracle instr 函数与 substr 函数详细说明 oracle 中的 instr 函数和 substr 函数是两种常用的字符串处理函数,它们可以用来处理和操作字符串数据。 Instr 函数 Instr 函数的主要作用是返回要截取的字符串在源...
INSTR (源字符串, 目标字符串, 起始位置, 匹配序号) 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始到字符的结尾就结束。 语法如下: instr( string1, string2 ...
Oracle数据库中的`substr`和`instr`函数是两个非常实用的字符串处理函数,它们在数据库查询和数据处理中扮演着重要角色。 `substr`函数,全称为“substring”,用于从一个字符串中截取一部分。其基本语法是: ```...
SQL数据库Instr函数限制和替代方案 Instr函数是许多编程语言中常用的字符串处理函数,可以在字符串中查找指定的子字符串并返回其位置。然而,在SQL数据库中,Instr函数并不是一个标准的函数,不能直接使用。这篇...
本篇文章将详细解析Hive中的各种函数,帮助你更好地理解和应用这些功能。 一、关系运算 关系运算用于比较两个或多个表达式,确定它们之间的逻辑关系。以下是Hive支持的关系运算符: 1. 等值比较:`=` - 用于判断...
`instr()` 函数在编程语言中,如VBScript或ColdFusion,是一个非常实用的字符串处理函数,用于在源字符串中查找目标字符串出现的位置。它能够帮助开发者判断目标字符串是否存在于第一个字符串中,并返回目标字符串的...
instr函数 instr函数用于从指定的位置开始,从大型对象中查找第N个与模式匹配的字符串。 用于查找内部大对象中的字符串的instr函数语法如下: dbms_lob.instr( lob_loc in blob, pattern in raw, offset in integer...
### INSTR函数在Oracle数据库中的应用 #### 一、INSTR函数概述 INSTR是Oracle数据库中的一个常用字符串处理函数,其主要功能是在一个指定的字符串(目标字符串)中查找另一个字符串(搜索字符串)的位置。如果找到...
5. INSTR函数:INSTR函数在字符串C1中查找字符C2的位置。例如,INSTR('oracle traning','ra',1,2)返回9,表示在'oracle traning'中第二个'ra'的位置是从第1个字符开始的第9个位置。 6. LENGTH函数:LENGTH函数返回...
下面是 Oracle 中一些常用的函数,包括 ASCII、CHR、CONCAT、INITCAP、INSTR、LENGTH、LOWER、UPPER、RPAD、LPAD、LTRIM、RTRIM、SUBSTR、REPLACE、SOUNDEX 和 TRIM 等。 1. ASCII 函数 ASCII 函数返回与指定的字符...
5. INSTR函数:INSTR函数在字符串C1中查找C2的位置。例如,INSTR('oracle traning', 'ra', 1, 2)返回9,表示第二个'ra'出现在第9个字符位置。 6. LENGTH函数:LENGTH函数返回字符串的长度。例如,LENGTH('gao')返回...
5. INSTR函数:INSTR函数用于在一个字符串中查找指定字符或子串的开始位置。例如,INSTR('oracle traning', 'ra', 1, 2)返回9,表示'ra'在字符串中的第二个出现位置。 6. LENGTH函数:LENGTH函数返回字符串的长度。...
INSTR 函数在一个字符串中搜索指定的字符,返回发现指定的字符的位置。例如,SQL> select instr('oracle traning','ra',1,2) instring from dual; 结果显示在字符串 oracle traning 中搜索 ra 的位置是 9。 6....
Instr 函数返回指定字符串中第一个出现的子字符串的索引。例如,使用 Instr("Hello World", "World") 将返回 7。 InstrRev 函数 InstrRev 函数返回指定字符串中最后一个出现的子字符串的索引。例如,使用 InstrRev...
INSTR 函数可以查找字符串中某个字符的位置。例如,INSTR(ename, 'A', 1) 将查找ename 中 'A' 的位置,从第 1 个字符开始。 5. NULL 处理函数 NVL 函数可以处理 NULL 值。例如,NVL(bonus, 0) 将 bonus 中的 NULL ...