首页天道酬勤mysql数据库模糊查询语句,oracle模糊查询sql语句

mysql数据库模糊查询语句,oracle模糊查询sql语句

张世龙 05-05 10:53 104次浏览

前言

在mysql中实现混淆查询的是like和regexp。 本文通过实例代码详细介绍了两者的使用方法。 和编辑一起学习吧。

like模式

从like相似的意义上说,有_和%两种模式

_表示单个字符,通常用于查询固定长度的数据。 例如,如果检测到所有姓王的三个字符的人名,请注意“王”后面有两个名字,假设名前排名为name

? 1select name from表名where name like '王__ ';

%表示0个字符以上的任意字符,如果检测到所有姓王的人名

? 1选择名称从表名where name like '王% ';

检测所有人名,包括“华”字

? 1选择名称从表名where name like '%华% ';

正规模式

^,是匹配字符串的起始位置,还是上面的示例中,查找所有姓王的人名

? 1选择名称从表名where name regexp'^王';

$,查找匹配字符串末尾,例如,所有名称末尾为“明”的人名

? 1select name from表名where name regexp '明$ ';

,\n如果匹配除\n之外的任意一个字符,并且类似于_,则不会写入sql语句

[…]可以匹配[]中的任何字符,abcdef……xyz缩短为[a-z],0123456789缩短为[0-9]。 例如,如果检索以w/z/s开头的人名

? 1选择名称从表名where name regexp'^[wzs];

[^……]、搜索w/z/s开头以外的人名时,匹配[]中不包含的字符

? 1选择名称从表名where name regexp'^[^wzs] ';

如果符合a|b|c、a或b或c,并且标识了绩效为A-或a或a的员工,则假设绩效列名为performance

? 1select performancefrom表名where performance regexp'A-|A|A;

重复0次以上,熟悉javascript正则的同学都知道

' str* '与st/str/strr/strrr……一致

?重复0次或1次

' str?' 能够匹配st/str

、重复一次或多次

“str”可以匹配str/strr/strrr/strrrr……

与javascript中的正则相比,这里的正则是简化版,没有惯性匹配/贪婪匹配,[]中不支持\w\s\d语法,也不支持中文,比较简单。

需要注意的是,这两种模式不要混淆。 like模式不支持正则表达式,REGEXP模式也不识别_和%

总结

以上是这篇文章的所有内容。 希望这篇文章的内容能给大家的学习和工作带来一定的帮助。 如果有疑问的话请用信息交流。

mysql模糊查询like优化,mysql模糊查询表名