mysql mysql模糊查询语句匹配查询

本文欢迎转载,转载请注明:转载自中国学网: []
用户还关注
可能有帮助相关文章推荐:
mysql 模糊匹配 表间字段
现有两张数据表:表A和表B
其表A和表B都包含字段:coname(公司名称),以往的情况是根据两张表的公司名称匹配,由表B向表A来更新其他数据数据,如果没有匹配上的则认为是新公司,要追加进数据库中.
但存在类似情况
表A:coname=北京市通州区自来水有限公司
表B:coname=北京通州区自来水公司
两家公司其实是一家公司,但匹配不到,后者便成为新公司被追加到表A中,导致数据的冗余,
大家有什么好办法解决这种,重复的问题,我的数据量很大,只可以批量处理,谢谢
回复 (14) 浏览 (3260)
其他文章推荐
ITPUB官方微博:
我使用的是mysql5.5.28有二个数据库一个为28G,别外一个为43G,当我使用percona-xtrabackup-2.0.5-499.rhel5.x86_64.rpm做了全备好了之后,做一次恢复,在使用innobackupex--apply-log--defaults-file=/f--user=root/backup/backup/_17-16-44/   ......
回复 (7) 浏览 (134)
 摘要:项目管理者联盟  本文是作者参与并执行的一个多项目组合管理案例,案例中描述了如何应用信息化的方式建立多项目管理的标准和模板,并能够有效处理多项目之间的复杂关系,本案中所应用的信息化辅助工具是微软Project2010。  多项目组合管理是项目管理成熟模式 ......
回复 (7) 浏览 (156)
数据库oracle10.2.0.3如图12:16开机自动启动数据库后其他文件都更新了redo时间未更新估计是这里出问题了?alter_log里面的日志如下MonApr013ORACLEV10.2.0.3.0-Productionvsnsta=0vsnsql=14vsnxtr=3WindowsServer2003VersionV5.2ServicePack2CPU:16-type586, ......
回复 (9) 浏览 (320)
本帖最后由goberl于:04编辑T_TRN_DOCWORD表数据才160W,这个语句随便查询一次都要好几分钟,如何优化呢。...
回复 (8) 浏览 (370)
请教一下大家,改业SQL的,有个存储过程,功能是先把所有数据插到report表里,然后再删除不需要的数据,我觉得这样有点多余,想把不需要的数据(delete条件里的),放到selecct里面过滤,那就不需要下在的delete了,怎么改呢,谢谢了。INSERTINTOreportSELECTa.item,REPLA ......
回复 (11) 浏览 (276)
【问题现象】一个数据库实例的备库在做备份时,备份的log一直显示&&logscannedupto(1)&&logscannedupto(1)....&&logscannedupto(1)&&logscannedupto(1)&&logscanned ......
回复 (3) 浏览 (74)
【定义】innodb行级锁record-levellock大致有三种:recordlock,gaplockandNext-KeyLocks。recordlock&锁住某一行记录&gaplock&&锁住某一段范围中的记录&nextkeylock是前两者效果的叠加。下面是MYSQL官方文档中相关内容的链接http:// ......
回复 (3) 浏览 (42)
上篇中我们进行了初步的安装配置,本篇继续进行问题解决。&&&7、Warning警告分析&在实验mysqld启动的时候,我们看到了一条Warning告警信息。&&[mysql@bspdevmysql-5.5.25-linux2.6-i686]$mysqld&[1]28398[mysql@bspdev ......
回复 (5) 浏览 (103)
3.1MySQL存储引擎概述MyISAM存储引擎是MySQL默认的存储引擎,也是目前MySQL使用最为广泛的存储引擎之一。他的前身就是我们在MySQL发展历程中所提到的ISAM,是ISAM的升级版本。在MySQL最开始发行的时候是ISAM存储引擎,而且实际上在最初的时候,MySQL甚至是没有存储引擎 ......
回复 (3) 浏览 (43)
招人啦招人啦,MySQLDBA看过来,收入有前景,要求不算高,能力在其次,人品是首要,只要基础好,经验何足道,您要心有意,简历请寄到:libingyang[,也可以微博上与我联系~~职位名称:MySQLDBA公司名称:互动百科()招聘人数:2名薪酬待遇:有 ......
回复 (10) 浏览 (613)
文章推荐:
盛拓传媒:
友情链接:
特别鸣谢:
北京皓辰网域网络信息技术有限公司. 版权所有
北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证:编号(京)字第1149号
ITPUB推荐文章解答你所有技术难题mysql 可以支持中问的模糊匹配
[问题点数:40分]
mysql 可以支持中问的模糊匹配
[问题点数:40分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2014年8月 其他数据库开发大版内专家分月排行榜第二2014年2月 其他数据库开发大版内专家分月排行榜第二2014年1月 其他数据库开发大版内专家分月排行榜第二2013年12月 其他数据库开发大版内专家分月排行榜第二2013年10月 其他数据库开发大版内专家分月排行榜第二2013年8月 其他数据库开发大版内专家分月排行榜第二2013年5月 其他数据库开发大版内专家分月排行榜第二2013年1月 其他数据库开发大版内专家分月排行榜第二2012年8月 其他数据库开发大版内专家分月排行榜第二2012年5月 其他数据库开发大版内专家分月排行榜第二2012年4月 其他数据库开发大版内专家分月排行榜第二2012年1月 其他数据库开发大版内专家分月排行榜第二
2014年11月 其他数据库开发大版内专家分月排行榜第三2014年7月 其他数据库开发大版内专家分月排行榜第三2014年6月 其他数据库开发大版内专家分月排行榜第三2014年5月 其他数据库开发大版内专家分月排行榜第三2013年7月 其他数据库开发大版内专家分月排行榜第三2013年3月 其他数据库开发大版内专家分月排行榜第三2012年7月 其他数据库开发大版内专家分月排行榜第三2012年6月 其他数据库开发大版内专家分月排行榜第三2011年12月 其他数据库开发大版内专家分月排行榜第三
2010年 总版技术专家分年内排行榜第二
2009年 总版技术专家分年内排行榜第三
本帖子已过去太久远了,不再提供回复功能。C#中MySQL语句带参数的模糊匹配问题 - pmandy - ITeye技术网站
 用的是MySQL数据库,但是当我用带参数的sql语句进行模糊查询时,发现MySQL没有识别我的参数中的内容。经过了多次实验,终于找到了答案,拿出来和大家分享,不多说了,详细如下:
 public DataTable GetUserList(string strParam1,string strParam2,string strParam3,string strParam4)
  StringBuilder sqlContent = new StringBuilder();
  ArrayList paramList = new ArrayList();
  sqlContent.Append(" SELECT ");
  sqlContent.Append(" column1");
  sqlContent.Append(" ,column2");
  sqlContent.Append(" ,column3 ");
  sqlContent.Append(" ,column4 ");
  sqlContent.Append(" FROM ");
  sqlContent.Append(" tab_temp ");
  sqlContent.Append(" WHERE 1=1");
  // 判断参数是否为空或""
  if (!String.IsNullOrEmpty(strParam1))
  sqlContent.Append(" AND column1 LIKE @param1 ");
  // 添加参数
  paramList.Add(new MySqlParameter("@param1", "%" + strParam1+ "%"));
  if (!String.IsNullOrEmpty(strParam2))
  sqlContent.Append(" AND column2 LIKE @param2 ");
  paramList.Add(new MySqlParameter("@param2", "%" + strParam2 + "%"));
  if (!String.IsNullOrEmpty(strParam3))
  sqlContent.Append(" AND column3 LIKE @param3 ");
  paramList.Add(new MySqlParameter("@param3", "%" + strParam3+ "%"));
  if (!String.IsNullOrEmpty(strParam4))
  sqlContent.Append(" AND column4 LIKE @param4 ");
  paramList.Add(new MySqlParameter("@param4", "%" + strParam4+ "%"));
  // 获取DB链接
  dbConn.getConnection();
  objDT = new DataTable();
  // 调用DBUtil中查询方法
  objDT = dbConn.executeQuery(sqlContent.ToString(), paramList);
  catch (Exception e)
  finally
  // 关闭DB链接
  dbConn.closeConnection();
  return objDT;
  正确的写法:
  sqlContent.Append(" AND column1 LIKE ?param1 ");
  // 添加参数
  paramList.Add(new MySqlParameter("?param1", "%" + strParam1+ "%"));
  错误的写法:
  sqlContent.Append(" AND column1 LIKE ‘%@param1%‘ ");
  // 添加参数
  paramList.Add(new MySqlParameter("@param1", strParam1));
浏览: 75696 次
来自: 北京
public static DateTime? GetData ...
请问public static DateTime? GetDa ...
不错,下载下来试试,原来用vs2010时的那个工具和现在这个不 ...
[url][b][i][u]引用[list]
[*][img] ...
http://www.9958.pw/post/phpexce ...当前位置:&&& >
> mysql模式匹配查询、模糊b%查询
mysql模式匹配查询、模糊b%查询
发布时间: 12:28:02编辑:
&&& &&& mysql模式匹配查询、模糊b%查询
&&& &&& MySQL提供标准的SQL模式匹配,以及一种基于象Unix实用程序如vi、grep和sed的扩展正则表达式模式匹配的格式。
&&& &&& SQL模式匹配允许你使用&_&匹配任何单个字符,而&%&匹配任意数目字符(包括零字符)。在 MySQL中,SQL的模式默认是忽略大小写的。下面给出一些例子。注意使用SQL模式时,不能使用=或!=;而应使用LIKE或NOT LIKE比较操作符。
&&& &&& 要想找出以&b&开头的名字:
mysql&&SELECT&*&FROM&pet&WHERE&name&LIKE&'b%';&
+--------+--------+---------+------+------------+------------+&
|&name&&&|&owner&&|&species&|&sex&&|&birth&&&&&&|&death&&&&&&|&
+--------+--------+---------+------+------------+------------+&
|&Buffy&&|&Harold&|&dog&&&&&|&f&&&&|&&|&NULL&&&&&&&|&
|&Bowser&|&Diane&&|&dog&&&&&|&m&&&&|&&|&&|&
+--------+--------+---------+------+------------+------------+&
&&& &&& 要想找出以&fy&结尾的名字:
mysql&&SELECT&*&FROM&pet&WHERE&name&LIKE&'%fy';&
+--------+--------+---------+------+------------+-------+&
|&name&&&|&owner&&|&species&|&sex&&|&birth&&&&&&|&death&|&
+--------+--------+---------+------+------------+-------+&
|&Fluffy&|&Harold&|&cat&&&&&|&f&&&&|&&|&NULL&&|&
|&Buffy&&|&Harold&|&dog&&&&&|&f&&&&|&&|&NULL&&|&
+--------+--------+---------+------+------------+-------+&
&&& &&& 要想找出包含&w&的名字:
mysql&&SELECT&*&FROM&pet&WHERE&name&LIKE&'%w%';&
&+----------+-------+---------+------+------------+------------+&
&|&name&&&&&|&owner&|&species&|&sex&&|&birth&&&&&&|&death&&&&&&|&
&+----------+-------+---------+------+------------+------------+&
&|&Claws&&&&|&Gwen&&|&cat&&&&&|&m&&&&|&&|&NULL&&&&&&&|&
&|&Bowser&&&|&Diane&|&dog&&&&&|&m&&&&|&&|&&|&
&|&Whistler&|&Gwen&&|&bird&&&&|&NULL&|&&|&NULL&&&&&&&|&
&+----------+-------+---------+------+------------+------------+&
&&& &&& 要想找出正好包含5个字符的名字,使用&_&模式字符:
mysql&&SELECT&*&FROM&pet&WHERE&name&LIKE&'_____';&
+-------+--------+---------+------+------------+-------+&
|&name&&|&owner&&|&species&|&sex&&|&birth&&&&&&|&death&|&
+-------+--------+---------+------+------------+-------+&
|&Claws&|&Gwen&&&|&cat&&&&&|&m&&&&|&&|&NULL&&|&
|&Buffy&|&Harold&|&dog&&&&&|&f&&&&|&&|&NULL&&|&
+-------+--------+---------+------+------------+-------+&
&&& &&& 由MySQL提供的模式匹配的其它类型是使用扩展正则表达式。当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。
&&& &&& 扩展正则表达式的一些字符是:
&&& &&& &&&&&&&&& &.&匹配任何单个的字符。
&&& &&& &&&&&&&&& 字符类&[...]&匹配在方括号内的任何字符。例如,&[abc]&匹配&a&、&b&或&c&。为了命名字符的范围,使用一个&-&。&[a-z]&匹配任何字母,而&[0-9]&匹配任何数字。
&&& &&& &&&&&&&&& & * &匹配零个或多个在它前面的字符。例如,&x*&匹配任何数量的&x&字符,&[0-9]*&匹配任何数量的数字,而&.*&匹配任何数量的任何字符。
&&& &&& 如果REGEXP模式与被测试值的任何地方匹配,模式就匹配(这不同于LIKE模式匹配,只有与整个值匹配,模式才匹配)。
&&& &&& 为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用&^&或在模式的结尾用&$&。
&&& &&& 为了说明扩展正则表达式如何工作,下面使用REGEXP重写上面所示的LIKE查询:
&&& &&& 为了找出以&b&开头的名字,使用&^&匹配名字的开始:
mysql&&SELECT&*&FROM&pet&WHERE&name&REGEXP&'^b';&
+--------+--------+---------+------+------------+------------+&
|&name&&&|&owner&&|&species&|&sex&&|&birth&&&&&&|&death&&&&&&|&
+--------+--------+---------+------+------------+------------+&
|&Buffy&&|&Harold&|&dog&&&&&|&f&&&&|&&|&NULL&&&&&&&|&
|&Bowser&|&Diane&&|&dog&&&&&|&m&&&&|&&|&&|&
+--------+--------+---------+------+------------+------------+&
&&& &&& 如果你想强制使REGEXP比较区分大小写,使用BINARY关键字使其中一个字符串变为二进制字符串。该查询只匹配名称首字母的小写&b&。
mysql&&SELECT&*&FROM&pet&WHERE&name&REGEXP&BINARY&'^b';&
&&& &&& 为了找出以&fy&结尾的名字,使用&$&匹配名字的结尾:
mysql&&SELECT&*&FROM&pet&WHERE&name&REGEXP&'fy$';&
+--------+--------+---------+------+------------+-------+&
|&name&&&|&owner&&|&species&|&sex&&|&birth&&&&&&|&death&|&
+--------+--------+---------+------+------------+-------+&
|&Fluffy&|&Harold&|&cat&&&&&|&f&&&&|&&|&NULL&&|&
|&Buffy&&|&Harold&|&dog&&&&&|&f&&&&|&&|&NULL&&|&
+--------+--------+---------+------+------------+-------+&
&&& &&& 为了找出包含一个&w&的名字,使用以下查询:
mysql&&SELECT&*&FROM&pet&WHERE&name&REGEXP&'w';&
+----------+-------+---------+------+------------+------------+&
|&name&&&&&|&owner&|&species&|&sex&&|&birth&&&&&&|&death&&&&&&|&
+----------+-------+---------+------+------------+------------+&
|&Claws&&&&|&Gwen&&|&cat&&&&&|&m&&&&|&&|&NULL&&&&&&&|&
|&Bowser&&&|&Diane&|&dog&&&&&|&m&&&&|&&|&&|&
|&Whistler&|&Gwen&&|&bird&&&&|&NULL&|&&|&NULL&&&&&&&|&
+----------+-------+---------+------+------------+------------+&
&&& &&& 既然如果一个正则表达式出现在值的任何地方,其模式匹配了,就不必在先前的查询中在模式的两侧放置一个通配符以使得它匹配整个值,就像你使用了一个SQL模式那样。
&&& &&& 为了找出包含正好5个字符的名字,使用&^&和&$&匹配名字的开始和结尾,和5个&.&实例在两者之间:
mysql&&SELECT&*&FROM&pet&WHERE&name&REGEXP&'^.....$';&
+-------+--------+---------+------+------------+-------+&
|&name&&|&owner&&|&species&|&sex&&|&birth&&&&&&|&death&|&
+-------+--------+---------+------+------------+-------+&
|&Claws&|&Gwen&&&|&cat&&&&&|&m&&&&|&&|&NULL&&|&
|&Buffy&|&Harold&|&dog&&&&&|&f&&&&|&&|&NULL&&|&
+-------+--------+---------+------+------------+-------+&
&&& &&& 你也可以使用&{n}&&重复n次&操作符重写前面的查询:
mysql&&SELECT&*&FROM&pet&WHERE&name&REGEXP&'^.{5}$';&
+-------+--------+---------+------+------------+-------+&
|&name&&|&owner&&|&species&|&sex&&|&birth&&&&&&|&death&|&
+-------+--------+---------+------+------------+-------+&
|&Claws&|&Gwen&&&|&cat&&&&&|&m&&&&|&&|&NULL&&|&
|&Buffy&|&Harold&|&dog&&&&&|&f&&&&|&&|&NULL&&|&
+-------+--------+---------+------+------------+-------+&

我要回帖

更多关于 mysql的模糊查询 的文章

 

随机推荐