oracle模糊查询,截取字符串以及搜索字符等函数

模糊匹配

    匹配语句:where coloumnvalue(列值) like 字符串
匹配常用方法:
      1,字符串中有%表示另外还有零个及以上个字符
         如:’%大剧院%’,表示查询该列值中含有’大剧院’的行;
         如:’%大%美’,表示查询该列值中含有’大’且以’美’结尾的行;
       2,字符串中有_表示任意单个字符串
          如:’_娟’,表示查询列值中只有两个字符且以’娟’结尾的行
       3,字符串中有[]表示匹配括号内任意一个字符串
          如,’[美中苏英]国’,表示查询列值为美国,中国,苏国,英国中任意一个行;
          如,’%[美中苏英]国’表示查询列值含有美国,中国,苏国,英国等中任意一个字段的行;
       4,字符串中含有[^]表示不匹配括号内中的任意一个字符,
         如,’[^赵钱孙]娟’,表示查询列值不为’赵娟,钱娟,孙娟’中任意一个的行;
        如果要查询%,_,^,[]等特殊字符,需要利用括号[]将特殊字符括起来即可。

截取字符串函数

     substr(string,position[,length]):
     string表示要检索的字符串;
     position表示从字符串什么位置开始截取,正数表示从左边开始数,负数表示从右边开始数;
     length截取长度,负数或者零则返回null;
     substr(“abcdef”,1,3)=’abc’;//从左边第一位开始往右截取3个字符
     substr(“abcdef”,-1,3)=’f’;//从右边第一位开始往右截取3个字符
     substr(‘abcdef’,-4,3)=’cde’;

搜索字符函数

     instr(string,substring[,position][,occurence]);
     string表示源字符串;
     substring表示要搜索的字符串;
     postion表示源字符串什么位置开始搜索,可选,默认为1;
     occurence表示匹配字符第几次出现,可选,默认为1;
     返回值为出现的位置,例如:
     instr(‘abcdabcd’,’ab’)=1,表示abcdabcd中第一次出现ab的位置是1;
     instr(‘abc/dab/cd’,’/’,1,2)=8,表示’abc/dab/cd’中从第一位开始第二次出现’/’的位置是8
     instr(‘abc/dab/cd’,’/’,5,2)=0,表示’abc/dab/cd’中从第5位开始第二次出现’/’的位置是0
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值