精华内容
下载资源
问答
  • mysql instr 函数的使用

    2012-08-03 10:07:46
    比如一个字段的名称是name ,怎么在sql语句中判断name是否包含在str字符串中? 例:name="123"; str = "12345" 那么name即包含在str中 答:select * from 表 where instr('12345',name...
    MySQLSQL 
    比如一个字段的名称是name ,怎么在sql语句中判断name是否包含在str字符串中?
    例:name="123";
    str = "12345"
    那么name即包含在str中

    答:select * from 表 where instr('12345',name)<>0;

    函数INSTR会告诉用户,其中的一个字符串(参数)是否在另一个字符串(也是参数)当中。
    其具体的语法格式如下:
    INSTR(string,substring[,start[,occurrence]])
    其中:
    string 待查询的字符串
    substring 正在搜索的字符串
    start 说明开始搜索的字符位置。默认值是1,就是说,搜索将从字符串的第一个字符开始。如果,参数为负 则表示搜索的位置从右边开始计算,而不是默认的从左边开始
    occurrence 指定试图搜索的子串的第几次出现,默认值是1,意味着希望其首次出现
    该函数反馈一索引顺序值,在该位置发现了要搜索的子串。下面的例子指出了INSTR函数的使用情况:
    INSTR('AAABAABA','B')=4
    INSTR('AAABAABA','B',1,2)=7
    展开全文
  • declare v_c1 varchar(100); v_c2 char(10); v_posi integer := 0;begin v_c1 := 2008-1-25,2008-1-26; v_c1 :=2008-1-26; v_posi := instr(v_c1,v_c2);... 以上代码怎么都无法获取v_posi 值,查了半天原来or

    declare
        v_c1 varchar(100);
        v_c2 char(10);
        v_posi integer := 0;
    begin
        v_c1 := '2008-1-25,2008-1-26';
        v_c1 :='2008-1-26';
        v_posi := instr(v_c1,v_c2);
    end; 

    以上代码怎么都无法获取v_posi 值,查了半天原来oralce 下instr函数参数类型必须一致才可以。

    将 v_c2 char(10) 改为 v_c2 varchar(10)就可以了。

     


    展开全文
  • 首先想到的就是contains,contains用法如下: select * from students where contains(address, 'beijing') 但是,使用contains谓词有...另外,还有个笨办法,那就是使用like,说到这里大家应该知道怎么做了吧: sel
  • 因为都要做模糊查询,like不可以走索引,导致查询效率实在底下,想看看instr这个函数能 不能走索引,或者建立函数索引,我建立成功了。是instr(name,'xx')。但是好像没效果,做模糊查询的话,怎么样效率高一点
  • 这个时候你肯定会问,那怎么写这个sql语句。 我试过的,应该用instr这个函数。 表中将近有1100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标。但经过实际测试发现...

    个人的一个经验积累吧,分享给大家。

    在做一个网站的时候,搜索是必不可少的。如果sql语句用like %  做模糊查询也可以,但数据多的时候就会影响查询效率,不建议使用。

    这个时候你肯定会问,那怎么写这个sql语句。

    我试过的,应该用instr这个函数。

    表中将近有1100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标。但经过实际测试发现,like的效率与instr函数差别相当大。下面是一些测试结果:

    SQL> set timing on
    SQL> select count(*) from t where instr(title,’手册’)>0;

    COUNT(*)
    ———-
    65881

    Elapsed: 00:00:11.04
    SQL> select count(*) from t where title like ‘%手册%’;

    COUNT(*)
    ———-
    65881

    Elapsed: 00:00:31.47
    SQL> select count(*) from t where instr(title,’手册’)=0;

    COUNT(*)
    ———-
    11554580

    Elapsed: 00:00:11.31
    SQL> select count(*) from t where title not like ‘%手册%’;

    COUNT(*)
    ———-
    11554580

    另外,我在另外一个2亿多的表,使用8个并行,使用like查询很久都不出来结果,但使用instr,4分钟即完成查找,性能是相当的好。这些小技巧用好,工作效率提高不少。通过上面的测试说明,Oracle内建的一些函数,是经过相当程度的优化的。

    希望能帮到大家。



    展开全文
  • Sql case when 怎么使用 like ?

    千次阅读 2020-06-11 09:06:56
    使用 like 放在case when 里面是无效的,可以用 instr() 这个函数来查找这些字符出现的位置,代替like的功能。 case when instr(t.str,’语文’) > 0 then 0 when instr(t.str,’数学’) > 0 then 1 when ...

    想要实现查询:如果字符串包含‘语文’就怎么怎么样,包含‘数学’就怎么怎么样,包含‘英语’就怎么怎么样。使用 like 放在case when 里面是无效的,可以用 instr() 这个函数来查找这些字符出现的位置,代替like的功能。

    case when instr(t.str,’语文’) > 0 then 0 
    when instr(t.str,’数学’) > 0 then 1 
    when instr(t.str,’英语’) > 0 then 2 
    else 3 end 

    展开全文
  • 1、字符串截取 substr(‘数据’,开始位置,截止位置); select substr('abcdef',1,3) from dual ...3、substr和instr配合使用 求小数点后面的数 select substr('11.21',instr('11.21','.')+1) from dual ...
  • 他山之石——VBA Like运算符的使用

    千次阅读 2018-06-25 23:06:53
    目前为止没怎么用过这个LIKE关键字,但看完教学视频后,感觉可以在判断字符串是否包含子串时替代Instr函数使用,更为方便。 'like "对比的字符串" 'Option Compare Text ' 字符串1 like 字符串2 Sub L1...
  • 在vb.net可以使用InStr(a,b)方法来判断字符串a的内容是否包含字符串b的内容。InStr(a, b) 如果a中包含有b则InStr(a, b) 返回一个大于0的值,如果不含有b则返回0。可以通过返回值来判断。 c#中可以使用 IndexOf...
  • 最近看到有网上有很多人问怎么把数据导出到XML文件,大多的解决方法就是 dbms_xmlgen+utl_file,首先要说的是,这种方法确实不错,但是有些缺点。如果系统中需要把数据导出XML文件,通常数据量都比较大, 因此,...
  • OICQ 从无到有,现在可以说中国的每一个网吧都装有 OICQ,每一个上过网的人都用过 OICQ,那么 OICQ 的加密功能倒底怎么样呢, OICQ 版本从低到高,其加密功能也越来越强,现在破解 OICQ 密码的方法大致有:穷举法、...
  • 数据库clob字段数据解析

    千次阅读 2018-06-11 21:57:45
    问题描述:业务数据复杂不固定,使用json格式存储在clob大字段中,后期需要通过sql批量取数据,怎么解决?解决方法: 使用substr、 instr、 tochar、 casethen方法去实现方法描述: substr 方法:substr(字符串,截取...
  • 正则表达式

    2018-08-20 13:59:00
    regexp_like() --返回满足条件的字段regexp_instr() --返回满足条件的字符或字符串的位置regexp_replace() --返回...和 instr 、replace 、substr函数,在一般的、不怎么复杂的模式匹配中,使用传统的sql函数就能...
  • 我知道可以使用dbms-lob.substr截取,和instr()识别逗号的位置,数组我也已经自定义好了,可是由于varchar2的长度限制,每次只能截取32767长度的字符串,而且instr函数也是处理长度限制,我不知道能不能直接加大...
  • 开始写测试用例了.---怎么写UI测试 [adb shell am instrument 命令详解](https://www.cnblogs.com/insist8089/p/6897037.html) 实例:Android 使用Instrumentation进行自动化测试 ...
  • 自从看见Apple的工程师使用Python的时候就被Python吸引了,事实上我得Python就是从visa开始的。 我很讨厌写一些哪来就能用的代码,我觉得知道怎么用就好了,为啥非要用别人的? pyvisa 1.4 for python2.7: ...
  • orcale常用命令

    2009-08-04 00:34:59
    可以使用DEFINE命令设置系统变量EDITOR来改变文本编辑器的类型,在login.sql文件中定义如下一行 DEFINE_EDITOR=vi f、运行命令文件 SQL>START test SQL>@test 常用SQL*Plus语句 a、表的创建、修改、删除 创建表的...
  • 这样文件就可以使用,相信VBA的引导不用教就可以交给别人使用了 下面附上代码,包含3个区: 1、 工作簿去,打开文件时工作 Private Sub Workbook_Open() Dim OP If Dir(Sheets("path").Range("A1")) = "" Then ...
  • Oracle事例

    2007-08-26 10:35:53
    SQL>select table_name,cache from user_tables where instr(cache,\'Y\')>0; 28、约束条件 create table employee (empno number(10) primary key, name varchar2(40) not null, deptno number(2) default ...

空空如也

空空如也

1 2
收藏数 21
精华内容 8
关键字:

instr怎么使用