mysql 模糊查询下划线

简介: 下划线 mysql 查询
+关注继续查看


  在开发中,测试提出了一个bug,在某搜索中,搜索 _,结果把不包含下划线的内容也查了出来!这是什么问题呢?今天特此记录一下,顺便给大家分享下!


   原sql:select * from table where condition like '%_%';

   结果: 搜索出来的是全部。

   原来,在mysql 中,下划线 _ 代表 全部 基本上等同于 *。

   解决方案:

   对sql 用 \ 进行转义:

   最终达到的 sql效果 :select * from table where condition like '%\_%';

   在此之前,在程序中对该关键字进行转义。

   方法如下:(我接触的是nodejs,此处就用js来表达);

   const search = function(str){

       if(str){

              let aStr = Array.from(str); // 将字符转成数组

              for(let i = 0;i < aStr.length; i++){  // 遍历数组

                       if(aStr[i]=='_'){   // 如果检测到下划线

                                  aStr[i] = '\\_'; // 此处需要转译 \_ 所以用两个\

                        }     

              }

             str = aStr.join(''); // 把数组转成字符串

          }

         //  下面执行 你的数据库操作 

         ...

   }

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
SQL Java 关系型数据库
MySQL Like模糊查询速度太慢如何进行优化
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
324 0
MySQL Like模糊查询速度太慢如何进行优化
|
7月前
|
SQL Java 关系型数据库
mysql连接5个表加模糊查询的sql怎么优化分析
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
127 0
mysql连接5个表加模糊查询的sql怎么优化分析
|
7月前
|
关系型数据库 MySQL Java
mysql中like模糊查询的优化
这是我在一个百万级数据库数据导出遇到的问题 比如这个语句在这个数据库查询很慢: select a from tms where b like ‘%haha%’ order by time limit 100;
123 0
|
8月前
|
安全 关系型数据库 MySQL
【大数据系列之MySQL】(十三):MySQL模糊查询
【大数据系列之MySQL】(十三):MySQL模糊查询
321 0
|
9月前
|
SQL 存储 前端开发
MySQL模糊查询 先展示精确查询在展示模糊查询结果 | 结果按匹配度 排序
MySQL模糊查询 先展示精确查询在展示模糊查询结果 | 结果按匹配度 排序
338 0
|
9月前
|
关系型数据库 MySQL
mysql中模糊查询中的转译
mysql中模糊查询中的转译
79 0
|
9月前
|
SQL 关系型数据库 MySQL
MYSQL中LIKE(模糊查询)
通常我们在搜索的时候总是不会特别精准,例如在百度上搜索,主要搜索关键字,然后加载页面之后再挑选。所以,在数据库中,有时候会将查询条件不一定直接使用uuid这样的标准查询。实际业务中可能存在模糊查询的业务。所以,我们可以使用LIKE关键字模糊查询符合要求的结果集,模糊查询在实际业务中主要用于搜索关键字查询需要的信息。
159 0
MYSQL中LIKE(模糊查询)
|
自然语言处理 安全 Oracle
MySQL模糊查询再也不用 like+% 了。。。(3)
MySQL模糊查询再也不用 like+% 了。。。(3)
MySQL模糊查询再也不用 like+% 了。。。(3)
|
SQL 存储 自然语言处理
MySQL模糊查询再也不用 like+% 了。。。(2)
MySQL模糊查询再也不用 like+% 了。。。(2)
117 0
MySQL模糊查询再也不用 like+% 了。。。(2)
|
存储 自然语言处理 搜索推荐
MySQL模糊查询再也不用 like+% 了。。。
MySQL模糊查询再也不用 like+% 了。。。
111 0
MySQL模糊查询再也不用 like+% 了。。。
推荐文章
更多
推荐镜像
更多