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(''); // 把数组转成字符串
}
// 下面执行 你的数据库操作
...
}
希望能帮到各位小伙伴!
mysql 模糊查询之特殊字符下划线 _相关推荐
- MySql模糊查询中特殊字符处理
2019独角兽企业重金招聘Python工程师标准>>> MySql的LIKE查询语句中,有一些特殊的字符,需要转换后才能搜索到结果: ':用于包裹搜索条件,需转为\': %:用于代替 ...
- mysql 模糊查询下划线_mybatis模糊查询特殊符号%(百分号)和_(下划线)不转义
在使用mybatis的模糊查询时,有两个特殊符号需要注意: %(百分号):相当于任意多个字符: _(下划线):相当于任意的单个字符: 处理方法: 1: (查询条件参数,比如"xx%_x&qu ...
- mysql模糊查询 % , _ ,[], [^] 的区别
mysql模糊查询总结 1. % 表示任意0个或多个字符 2. _ 表示任意单个字符(有且仅有一个字符,可以是中文,也可以是英文,也可以是数字) 3. [] 表示其中的某一个字符 4. [^] 表示除 ...
- mysql模糊查询提速_【MySQL】Mysql模糊查询like提速优化
[MySQL]Mysql模糊查询like提速优化 在使用msyql进行模糊查询的时候,很自然的会用到like语句,通常情况下,在数据量小的时候,不容易看出查询的效率,但在数据量达到百万级,千万级的时候 ...
- mysql 单表多字段查询_单表多字段MySQL模糊查询的实现
MySQL模糊查询是我们经常会遇到的,下面就为您介绍MySQL模糊查询的实现方法,希望对您学习MySQL模糊查询方面能够有所帮助. 在最近的一个项目需要实现在单表中对多字段进行多个关键字的MySQL模 ...
- mysql模糊查询 or_mysql的模糊查询
mysql模糊查询like/REGEXP (1)like / not like MySql的like语句中的通配符:百分号.下划线和escape %:表示任意个或多个字符.可匹配任意类型和长度的字符. ...
- MySql模糊查询like通配符的使用
MySql模糊查询like通配符使用详细介绍 ------------------------------------------------------ %代表任意多个字符 _代表一个字符 在 M ...
- 怎样在oracle中加下划线,Oracle使用like查询时对下划线的处理方法
如:查询ZJ_STANDARD_ITEM表的name1字段包含"_("的数据 --以下的查询语句执行会发现所查询的数据并不是我们想要数据 select * from ZJ_STAN ...
- mysql模糊查询like
mysql模糊查询like 1:%:表示任意0个或多个字符 可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如:SELECT * FROM [user] WHERE ...
最新文章
- PCL基础2:点云赋值
- MySQL replace into 的坑以及insert相关操作
- MySQLWorkbench里的稀奇事之timestamp的非空默认值
- 2个菜鸟Java常量和枚举陷阱
- 五种线程池的对比与使用
- 利用 Linux tap/tun 虚拟设备写一个 ICMP echo 程序
- mysql日期纬度表_mysql中生成时间维度表
- 目标检测排行榜_3D领域重大突破!大华股份人工智能取得KITTI Object 3D车辆检测排行榜第一名...
- 在Python中使用MongoDB
- 前方预警!Windows Server 将默认需符合 TPM2.0,服务器商需在来年 1 月 1 日前适配相应规则...
- 十四、View Port 2.0
- linux系统安装snort,linux下SNORT安装.doc
- 台达b3伺服参数设置方法_台达B2系列伺服电机的调试方法和注意事项
- eclipse安卓插件ADT下载地址
- ec12编码器电路图_旋转编码器电路原理图
- SiamRPN代码分析:training
- 为什么拼多多推广出价没人点击?新店铺怎么推广?
- opensparc中的crossbar
- 人工智能之经典逻辑推理
- C语言实现通讯录(含文件保存)
热门文章
- 关于含光 800,这里有你想要的一切答案!
- @程序员,别再让 Hotplug 问题难住你!
- 编程面试问题越难越好?!
- 华为起诉美国政府新进展;小米空调对董明珠“没有压力”;扎克伯格:后悔没早点学微信 | 极客头条...
- C++ 的门门道道 | 技术头条
- 2019 年的 Linux 会如何?
- 1024程序员节:除了高薪,你还有什么理由坚持做程序员?
- IBM 发布企业级社交协作平台 Domino V10,开启快速应用程序开发的新时代
- 如何使用 Python 构建 PC 通信?
- 给 iOS 11.3 降个级?苹果果断关闭 11.2.6 验证通道