全网整合营销服务商

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

免费咨询热线: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查询所有数据库名  # 表名  # 和字段名的语句  # 李白  # 小兰  # 柯南  # 灰原  # 的人  # 就可以  # 很帅  # 可以实现  # 小编  # 这时候  # 我想  # 就会  # 小五郎  # 有个  # 我有  # 找不到  # 可以用  # 遍历  # 不多  # 只需 


相关文章: 如何快速搭建FTP站点实现文件共享?  开封网站制作公司,网络用语开封是什么意思?  建站之星在线客服如何快速接入解答?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  潮流网站制作头像软件下载,适合母子的网名有哪些?  微信h5制作网站有哪些,免费微信H5页面制作工具?  建站主机是否属于云主机类型?  宝塔建站教程:一键部署配置流程与SEO优化实战指南  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  ,怎么在广州志愿者网站注册?  小型网站建站如何选择虚拟主机?  c# await 一个已经完成的Task会发生什么  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何选择CMS系统实现快速建站与SEO优化?  建站主机是否等同于虚拟主机?  高端网站建设与定制开发一站式解决方案 中企动力  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  网站制作员失业,怎样查看自己网站的注册者?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  建站之星展会模板:智能建站与自助搭建高效解决方案  如何在建站主机中优化服务器配置?  定制建站是什么?如何实现个性化需求?  网站制作公司排行榜,抖音怎样做个人官方网站  北京建设网站制作公司,北京古代建筑博物馆预约官网?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  文字头像制作网站推荐软件,醒图能自动配文字吗?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  如何在云主机上快速搭建网站?  如何选择PHP开源工具快速搭建网站?  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  如何用美橙互联一键搭建多站合一网站?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  行程制作网站有哪些,第三方机票电子行程单怎么开?  公司网站的制作公司,企业网站制作基本流程有哪些?  如何通过VPS搭建网站快速盈利?  常州企业建站如何选择最佳模板?  如何制作网站标识牌,动态网站如何制作(教程)?  代购小票制作网站有哪些,购物小票的简要说明?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  建站之星安装路径如何正确选择及配置?  如何通过NAT技术实现内网高效建站?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  如何在宝塔面板中创建新站点?  Python文件管理规范_工程实践说明【指导】  建站之星如何取消后台验证码生成?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  详解jQuery中基本的动画方法  如何在万网自助建站中设置域名及备案?  网站制作费用多少钱,一个网站的运营,需要哪些费用? 

您的项目需求

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