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