`
xo_tobacoo
  • 浏览: 390932 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Oracle Instr()的特殊用法

阅读更多

NSTR方法的格式为:
        INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)

例如:

        INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置。

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

所以SELECT INSTR('CORPORATE FLOOR', 'OR', -1, 1) "Instring" FROM DUAL的显示结果是

Instring
——————
14

特殊用法:

        特殊用法说到底也没有什么特别,我们上面看到的“源字符串”、“目标字符串”都是写死的,其实它也可以为字段,看下面的例子:

        select   id, name from users where instr('101914, 104703', id) > 0;

        它等价于

         select   id, name from users where id = 101914 or id = 104703;

用途:

         采用instr在原因是我在前台连续录入多个人员的id,想返回这些人员的资料。举个例子:“王武,男,计算机系学生;晓亮,男,艺术系学生。”

         前台,接收输入的id,用","分开,在后台我不想再对它做分开来处理,就可以使用instr语句,然后再用for loop连接得到的结果。

        还有一个,可能不怎么常用:

         select   id, name from users where instr(id, '101') > 0;  

         等价于

          select   id, name from users where id like '%101%'

          对于这样使用instr的性能怎样,还没有做过同比测试。

分享到:
评论
2 楼 lord_is_layuping 2012-06-08  
1 楼 linzaizai2010 2011-11-29  
select   id, name from users where id like '%101%'  相对instr 查询的速度比较快 

相关推荐

    Oracle中常用的通配符

    本文详细介绍了Oracle数据库中常用的通配符以及其他相关符号的含义及使用方法。通过这些符号的应用,可以使SQL查询更加灵活多样,有助于提高数据检索的准确性和效率。在实际工作中,掌握并熟练应用这些符号对于高效...

    Oracle中Like与Instr模糊查询性能大比拼

    `INSTR`的一个特殊用法是,它可以用于处理逗号分隔的列表,如`instr('101914, 104703', id) > 0`,这等同于`id = 101914 OR id = 104703`,这样的查询方式可以简化条件判断。 在性能优化方面,当在字段`name`上创建...

    Oracle正则表达式详解(用法+实例)

    ### Oracle正则表达式详解(用法+实例) #### 一、正则表达式简介 正则表达式是一种用于匹配字符串中字符组合的工具。它由一个或多个字符及特殊的字符元组成,能够帮助我们执行复杂的字符串搜索和替换任务。在...

    一个oracle根据特定字符截取数据

    这篇博客“一个oracle根据特定字符截取数据”分享了一个实用的方法,适用于那些需要从字符串字段中提取部分信息的情况。通过SQL查询,我们可以高效地完成这项任务。 在Oracle SQL中,有多个内置函数可以帮助我们...

    oracle全文检索

    在没有使用Oracle Text的情况下,搜索文本数据通常依赖于SQL的内置函数,如INSTR和LIKE操作符。例如,通过`INSTR`函数可以找到指定字符串在目标字段中出现的位置,`LIKE`操作符则可以通过模式匹配来搜索包含特定子串...

    oracle 同音字查询

    在Oracle数据库中,同音字查询是一个特殊的需求,通常用于处理中文字符的相似性匹配,例如用户输入可能存在拼写错误或者使用了同音字。Oracle提供了多种方式来实现这一功能,下面将详细介绍如何在Oracle中进行同音字...

    oracle_split_函数_返回数组

    函数通过循环和`INSTR`函数查找分隔符的位置,并使用`SUBSTR`函数提取子字符串。当找不到分隔符时,最后的子字符串也会被添加到数组中。然而,这种方法存在一个问题,当分隔符出现在字符串末尾时,可能会导致最后一...

    ORACLE用户常用数据字典的查询使用方法

    ### ORACLE用户常用数据字典的查询使用方法 在Oracle数据库中,数据字典是非常重要的组成部分,它存储了关于数据库自身的重要元数据信息,包括表、视图、索引等对象的信息及其属性。数据字典可以帮助数据库管理员及...

    Oracle_plsql常用方法汇总

    集合运算符是 Oracle PL/SQL 中的一种特殊的运算符,用于执行集合操作。下面是一些常用的集合运算符: 1. INTERSECT:返回两个集合的交集 2. UNION:返回两个集合的并集 3. UNION ALL:返回两个集合的并集,包括...

    oracle_xuexibiji.rar_oracle

    "oracle_xuexibiji.rar_oracle"压缩包文件中的学习笔记记录了Oracle数据库的一些关键知识点,包括数据导入导出、SQL*Plus的使用以及各种特殊函数的应用。以下是对这些内容的详细解释: 1. 数据导入导出: 在Oracle...

    Oracle 总结的正则表达式带有详细的例子与解释

    Oracle数据库中的正则表达式是强大的文本处理工具,尤其在数据查询和清洗方面表现出极高的灵活性。在Oracle 10g及更高版本中,Oracle引入了对IEEE POSIX标准的正则表达式支持,使得SQL语句能进行更复杂的模式匹配。 ...

    oracle函数大全.rar

    `oracle函数大全.doc`很可能是一个详细的文档,涵盖了Oracle数据库中各种内置函数的用法、语法和示例。这份文档可能会包括以下几大类函数: 1. **数学函数**:如ROUND、TRUNC、MOD等,用于对数字进行四舍五入、截断...

    oracle 内置函数大全

    Oracle数据库系统是世界上最广泛使用的数据库管理系统之一,尤其在企业级应用中占据重要地位。Oracle内置函数是其强大功能的关键组成部分,这些函数极大地丰富了SQL语言的表达能力,使得数据处理和查询更为便捷高效...

    Oracle知识点总结(吐血推荐).doc

    Oracle中的保留点(还原点)使用关键字savepoint,使用方法为savepoint 名称,可以进行保留点回滚,例如rollback to mark。 五、Oracle中的函数 Oracle中的函数可以分为系统预定义函数和用户定义函数。函数必须有...

    oracle索引失效的总结

    ### Oracle索引失效的原因及解决方法 在Oracle数据库中,索引是提高查询效率的关键工具之一。然而,在实际的应用过程中,由于多种原因可能会导致索引失效,从而影响系统的性能。本文将详细介绍Oracle索引失效的一些...

Global site tag (gtag.js) - Google Analytics