返回顶部
首页 > 资讯 > 数据库 >SQL的模糊查询怎么实现
  • 746
分享到

SQL的模糊查询怎么实现

2024-04-02 19:04:59 746人浏览 薄情痞子
摘要

本篇内容介绍了“sql的模糊查询怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言说到SQL的模糊

本篇内容介绍了“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的模糊查询怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: SQL的模糊查询怎么实现

本文链接: https://lsjlt.com/news/72584.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SQL的模糊查询怎么实现
    本篇内容介绍了“SQL的模糊查询怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言说到SQL的模糊...
    99+
    2024-04-02
  • 使用SQL语句怎么实现模糊查询
    这期内容当中小编将会给大家带来有关使用SQL语句怎么实现模糊查询,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在main.xml中:<xml version=&qu...
    99+
    2024-04-02
  • sql查询之模糊查询
    like 这里可以参照一下菜鸟教程、mysql like一般用于字符串查询%代表半匹配查询 SELECT * FROM studentWHERE `name` = "孙悟空";SELE...
    99+
    2023-09-03
    sql 数据库 mysql
  • mybatis模糊查询怎么实现
    MyBatis模糊查询可以通过使用 `%` 或 `_` 来实现。`%` 表示任意多个字符(包括0个字符),`_` 表示任意一个字符。...
    99+
    2023-09-05
    mybatis
  • mongodb模糊查询怎么实现
    在MongoDB中,可以使用正则表达式来实现模糊查询。以下是一个示例: 假设有一个名为“users”的集合,其中包含了一个名为“us...
    99+
    2024-04-03
    mongodb
  • mysql中的模糊查询怎么实现
    在MySQL中,可以使用LIKE操作符来实现模糊查询。LIKE操作符用于在WHERE子句中搜索列中的指定模式。模式可以包含通...
    99+
    2024-04-09
    mysql
  • SQL模糊查询语句怎么写
    这篇文章给大家分享的是有关SQL模糊查询语句怎么写的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SQL模糊查询语句一般模糊语句语法如下:SELECT 字段&nb...
    99+
    2024-04-02
  • MyBatis实现模糊查询
    1.第一种方式 第一种方式:在java程序中,把like的内容组装好,把这个内容传入到sql语句 我们先在dao接口中定义一个方法 /ke的第一种方式List selectLikeOne(@Param("name") S...
    99+
    2023-10-20
    mybatis java mysql Powered by 金山文档
  • SQL模糊查询的用法
    这篇文章主要介绍“SQL模糊查询的用法”,在日常操作中,相信很多人在SQL模糊查询的用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL模糊查询的用法”的疑惑有所帮助!接...
    99+
    2024-04-02
  • 怎么在SQL Server中实现一个模糊查询功能
    怎么在SQL Server中实现一个模糊查询功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.用_通配符查询"_"号表示任意单个字符,该...
    99+
    2023-06-14
  • 模糊查询怎么使用mybatis来实现
    模糊查询怎么使用mybatis来实现?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。mybatis中分页有3种方式来实现,通过sql语句(两种传参方式)来实现,通过mybat...
    99+
    2023-05-31
    mybatis 模糊查询
  • mysql中like % %模糊查询的实现
    1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。 比如 SELECT * FROM [user] WHERE u_name LIKE ...
    99+
    2022-05-27
    mysql like % %模糊查询 mysql like模糊查询
  • Vue如何实现模糊查询
    这篇文章主要介绍Vue如何实现模糊查询,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Vue实现模糊查询通过watch和computed实现Vue实现模糊查询计算方法能实现的侦听方法也能够实现,但推荐使用计算方法,应为...
    99+
    2023-06-20
  • Python 代码实现模糊查询
    最近在做一个django项目,里面有一个字典数据非常大,虽然已经做了分页处理。但是用户想要找到指定的数据,还得一页页翻,非常繁琐。字典的结构如下:file_list = [     ...
    99+
    2023-01-31
    模糊 代码 Python
  • 模糊查询 防止 sql注入
    mysql  mybatis 环境:1>. 处理sql特殊字符 {"*","%","_"} --> 替换为 "/*","/%","/_"2>.   sql 中处理,定义...
    99+
    2024-04-02
  • java多级菜单模糊查询怎么实现
    要实现 Java 多级菜单的模糊查询,可以使用递归的方式来遍历菜单结构,然后根据输入的关键词来筛选匹配的菜单项。 以下是一个简单的示...
    99+
    2024-03-13
    java
  • mybatis实现多条件模糊查询
    EmployeeMapper.xml SELECT id,NAME,gender,idcard,nationid FROM employee WHERE 1=1 ...
    99+
    2023-09-01
    sql 数据库 mysql
  • MySQL不用like+%实现模糊查询
    目录一、前言二、倒排索引三、全文检索3.1、创建全文索引3.2、使用全文索引3.3、Natural Language3.4、Boolean3.5、Query Expansion四、删除全文索引4.1、直接删除全文索引语法...
    99+
    2023-01-05
    MySQL模糊查询 MySQLlike+%模糊查询
  • 怎么在mybatis中实现一个动态SQL和模糊查询功能
    这期内容当中小编将会给大家带来有关怎么在mybatis中实现一个动态SQL和模糊查询功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。新建表d_user:create table d_...
    99+
    2023-06-14
  • sql时间模糊怎么查
    sql 中使用模糊查询查找时间是一种特殊的查找类型,它允许用户查找与给定时间段重叠或部分匹配的时间值。可使用的运算符包括:between ... and ...:查找介于两个指定时间之间...
    99+
    2024-05-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作