首页 > 数据库 > Oracle > 正文

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

2024-08-29 13:54:34
字体:
来源:转载
供稿:网友

模糊匹配

    匹配语句: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    


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表