`

instr()函数,特殊用法,代替like,in

 
阅读更多

--created by   : wanglin
--created date : 2012-08-20
--created purpose: instr()函数,特殊用法,代替like,in

instr()返回值是目标字符(串)在母字符里第一次出现的位置,故而是整数。

例如:

instr("efabcdefg","e")的结果当然是1
instr(2,"efabcdefg","e")的结果就是7
instr(5,"efabcdefg","a")的结果就是0
instr("efabcdefg","k")的结果也是0

instr是内置函数,他是会走索引的,性能好。

like不一定:like '%iii%'是不走索引的,like 'ik%'走索引。

例如:
代替like:
SELECT code, name, dept, occupation FROM staff WHERE instr(code, '001') > 0;
等同于
SELECT code, name, dept, occupation FROM staff WHERE code LIKE '%001%' ;

代替in:
SELECT code , name , dept, occupation FROM staff WHERE code IN ('A10001','A10002');
等同于
SELECT code , name , dept, occupation FROM staff WHERE instr('A10001,A10002',code)>0

3
2
分享到:
评论

相关推荐

    vb中instr函数

    VB 中 InStr 函数的使用和实现文本查找功能 VB 中的 InStr 函数是一个非常重要和常用的函数,它可以返回指定字符串在另一个字符串中最先出现的位置。其语法为 InStr([start, ]string1, string2[, compare]),其中 ...

    informix数据库实现oracle环境instr函数功能

    ### Informix数据库实现Oracle环境INSTR函数功能 在数据库领域,不同类型的数据库系统可能支持不同的SQL函数特性。例如,Oracle数据库中的`INSTR`函数用于查找一个字符串在另一个字符串中的位置,而Informix数据库...

    Oracle的substr和instr函数简单用法

    Oracle数据库中的`substr`和`instr`函数是两个非常实用的字符串处理函数,它们在数据库查询和数据处理中扮演着重要角色。 `substr`函数,全称为“substring”,用于从一个字符串中截取一部分。其基本语法是: ```...

    HIVE函数详解大全

    5. 集合函数:`IN`, `EXISTS`, `ALL`, `ANY`,处理集合间的比较。 6. 分组和排序:`GROUP BY`, `ORDER BY`, `DISTRIBUTE BY`, `SORT BY`,用于数据分组和排序。 7. 时间和日期函数:`YEAR`, `MONTH`, `DAY`, `HOUR`,...

    oracle中instr函数与substr函数详细说明(附实例)[归类].pdf

    Oracle instr 函数与 substr 函数详细说明 oracle 中的 instr 函数和 substr 函数是两种常用的字符串处理函数,它们可以用来处理和操作字符串数据。 Instr 函数 Instr 函数的主要作用是返回要截取的字符串在源...

    Oracle中instr函数使用方法

    INSTR (源字符串, 目标字符串, 起始位置, 匹配序号) 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始到字符的结尾就结束。 语法如下: instr( string1, string2 ...

    INSTR的用法 Oracle里的Indexof

    除了单独使用外,INSTR还可以与其他字符串处理函数(如SUBSTR等)结合使用,实现更复杂的数据处理需求。例如,可以使用INSTR确定子字符串的位置,再使用SUBSTR从主字符串中截取特定部分。 ##### 5.3 在查询条件中...

    instr()函数功能,判断目标字符串是否存在于第一个字符串中

    在博文链接中提到的`iteye.com`博客文章,可能详细解析了`instr()`函数的使用方法、示例和常见问题。通过阅读这篇文章,开发者可以深入理解如何在实际项目中有效利用此函数。 `main`这个文件名可能是相关代码的主...

    sql数据库不能直接用instr函数

    虽然可以使用CHARINDEX函数或PATINDEX函数来实现类似的功能,但它们的使用方法和Instr函数有所不同。 在SQL Server数据库中,Instr函数不可用是因为该函数不符合SQL Server的语法规则。SQL Server数据库使用...

    Oracle中instr和substr存储过程详解

    instr函数 instr函数用于从指定的位置开始,从大型对象中查找第N个与模式匹配的字符串。 用于查找内部大对象中的字符串的instr函数语法如下: dbms_lob.instr( lob_loc in blob, pattern in raw, offset in integer...

    MySQL高效模糊搜索之内置函数locate instr position find_in_set使用详解

    在本文中,我们将重点讨论四个常用的函数:locate()、instr()、position() 和 find_in_set(),并解析它们的使用方法。 1. **locate()** 函数: locate() 函数与 Java 的 `indexOf()` 方法类似,用于在一个字符串中...

    mysql中使用instr进行模糊查询方法介绍

    在mysql中使用内部函数instr,可代替传统的like方式查询,并且速度更快。 instr 函数,第一个参数是字段,第二个参数是要查询的串,返回串的位置,第一个是1,如果没找到就是0. 例如,查询字段name中带”军”的...

    Oracle中的INSTR,NVL和SUBSTR函数的用法详解

    在Oracle数据库中,有三个非常重要的字符串处理函数:INSTR、NVL和SUBSTR。这些函数在处理文本数据时起到至关重要的作用。 1. **INSTR函数**: INSTR函数用于在一个字符串中查找另一个子字符串的位置。其基本语法...

    VB 函数用法(函数的调用等方法)

    VB还提供了一系列内置函数,如`Sqr`(平方根)、`Len`(长度)、`InStr`(查找子字符串)等,这些函数可以直接使用,无需自定义。 总结起来,VB中的函数是代码组织的重要工具,它们提高了代码的复用性和可读性。...

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

    此外,`INSTR`的一个特殊用法是,可以同时检查多个值是否存在,例如`instr('101914, 104703', id) > 0`,这等同于`id = 101914 OR id = 104703`,在处理多个条件时非常方便。 为了提高查询效率,可以考虑在字段上...

Global site tag (gtag.js) - Google Analytics