全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

SQL查询字段被包含语句

前言

说到SQL的模糊查询,最先想到的,应该就是like关键字。

当我们需要查询包含某个特定字段的数据时,往往会使用 ‘%关键字%' 查询的方式。例如:

SELECT ... FROM 表名 WHERE 字段名 LIKE '%关键字%'

这应该可以算是一种典型的”包含XXX”的方式,但如果我们需要查询字段被包含于特定字符的数据时呢?

比如,我有一张联系人数据表ConnectName,其中有个字段用于记录姓名name。我想获取名为小兰和灰原的人的联系资料。正常情况下,我们首先能想到的做法应该是:

SELECT * FROM ConnectName 
WHERE
  name = '小兰'
  OR name = '灰原'

这样的做法是可以实现这种目的的。如果这时候,我突然想,再查一个人,比如说“柯南”,那么我们就要修改SQL的结构,添加一个Where条件句:

SELECT * FROM ConnectName 
WHERE
  name = '小兰'
  OR name = '灰原'
  OR name = '柯南'

我们知道,OR条件查询本身是属于效率较低的,而且结构变动的语句在MyBatis实现稍微麻烦些(当然也是可以实现的,遍历插入字段就行了)。

能不能简单一些呢?我可以把所有关键字放在一起,只用一个Where条件去实现吗?

CHARINDEX登场

这时候,我们就可以用 CHARINDEX 关键字了,CHARINDEX可以返回某个字段在一串文字中出现的位置,跟String的indexOf用法类似,不多废话,我们来举个栗子:

CHARINDEX('李白','曹操很帅') =0

在上面的栗子中,因为曹操很帅不包含李白关键字,所以找不到,返回0.

CHARINDEX('李白','李白很帅') =1

同样的栗子,因为包含里李白关键字,会返回关键字所在的开头第一个字的索引,所以返回1.

了解了使用方法之后,我们就可以运用CHARINDEX关键字优化下我们的SQL语句:

SELECT * FROM ConnectName 
WHERE
  CHARINDEX(name ,'小兰灰原柯南')>0

如果name字段对应的名字在 ‘小兰灰原柯南' 中出现,那么CHARINDEX函数就会返回大于1,就可以得到我们想要的数据啦(他们3个人也可以在一起愉快的玩耍咯^-^)

对应的mybatis实现也相对简洁

SELECT * FROM ConnectName 
WHERE
  <!--[CDATA[ AND CHARINDEX(name ,#{传入的参数}) --> 0 ]]>

如果后期我们想要加入一个新的人,比如毛利小五郎,只需要在传入的参数中加入 ‘小兰灰原柯南毛利小五郎' 就可以了,是不是简单了许多呢?

以上所述是小编给大家介绍的SQL字段的被包含查询语句,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


# sql  # 查询字段包含  # 用SQL语句查询数据库中某一字段下相同值的记录方法  # SQL 查询和删除重复字段数据的方法  # MySQL大表中重复字段的高效率查询方法  # SQL order by ID desc/asc加一个排序的字段解决查询慢问题  # php mssql扩展SQL查询中文字段名解决方法  # SQLSERVER查询所有数据库名  # 表名  # 和字段名的语句  # 李白  # 小兰  # 柯南  # 灰原  # 的人  # 就可以  # 很帅  # 可以实现  # 小编  # 这时候  # 我想  # 就会  # 小五郎  # 有个  # 我有  # 找不到  # 可以用  # 遍历  # 不多  # 只需 


相关文章: 大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  网站制作的步骤包括,正确网址格式怎么写?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  如何用PHP工具快速搭建高效网站?  如何快速搭建高效服务器建站系统?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  如何选择香港主机高效搭建外贸独立站?  Bpmn 2.0的XML文件怎么画流程图  实惠建站价格推荐:2025年高性价比自助建站套餐解析  c++ stringstream用法详解_c++字符串与数字转换利器  网站制作难吗安全吗,做一个网站需要多久时间?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  长沙企业网站制作哪家好,长沙水业集团官方网站?  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  Android自定义控件实现温度旋转按钮效果  实例解析angularjs的filter过滤器  香港服务器租用每月最低只需15元?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  建站主机选购指南与交易推荐:核心配置解析  如何用美橙互联一键搭建多站合一网站?  建站主机如何选?性能与价格怎样平衡?  Python路径拼接规范_跨平台处理说明【指导】  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  安徽网站建设与外贸建站服务专业定制方案  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  公司门户网站制作流程,华为官网怎么做?  建站之星如何助力网站排名飙升?揭秘高效技巧  如何确认建站备案号应放置的具体位置?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  网站制作企业,网站的banner和导航栏是指什么?  建站之星导航配置指南:自助建站与SEO优化全解析  Thinkphp 中 distinct 的用法解析  如何用免费手机建站系统零基础打造专业网站?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  ,交易猫的商品怎么发布到网站上去?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  已有域名如何快速搭建专属网站?  如何快速上传自定义模板至建站之星?  建站之星代理平台如何选择最佳方案?  建站OpenVZ教程与优化策略:配置指南与性能提升  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  深圳网站制作的公司有哪些,dido官方网站?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  独立制作一个网站多少钱,建立网站需要花多少钱? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。