如题,当SQL语句中使用Like查询,且期望匹配的结果中含有"\"的,应当把"\"替换为"\\\\"。

比如数据库中text字段有以下三行:

id text

1 au1224 su5b9e1u9a8c

2 \24\a su5b9e1u9a8c

3 \24\\a su5b9e1u9a8c

当我们使用下面这三种方式查询时,都会得到id 为1,2,3三行,原因后面会讲。

select * from test_table where text like "%\24%";

select * from test_table where text like "%\\24%";

select * from test_table where text like "%\\\24%";

只有像下面这样使用四个反斜杠"\\\\"查询时,才会得到期望的包含"\24"的结果(id为2、3的两行)。

select * from test_table where text like "%24\\\\%";

进一步,如果期望查询到的结果更准确,比如只得到id为2的第二行,应该像下边这样查询。

select * from test_table where text like "%24\\\\a%";

同理,只得到id为3的第三行,匹配两个反斜杠"\\",应该使用八个反斜杠"\\\\\\\\":

select * from test_table where text like "%24\\\\\\\\a%";

原因其实很简单,在mysql中,反斜杠在字符串中是转义字符,在进行语法解析时会进行一次转义,所以当我们在insert字符时,insert "\\" 在数据库中最终只会存储"\"。而在mysql的like语法中,like后边的字符串除了会在语法解析时转义一次外,还会在正则匹配时进行第二次的转义。因此如果期望最终匹配到"\",就要反转义两次,也即由"\"到"\\"再到"\\\\"。

原文链接:https://blog.csdn.net/mrqingyu/article/details/81004580

mysql四个对勾_Mysql like查询语句中,结果包含反斜杠 \ 字符的,需要替换成四个反斜杠 \\\\...相关推荐

  1. mysql五大子句_MySQL的查询语句中可以使用以下哪个子句来表示分组查询

    [多选题]人类行为遗传学工作者倾向于把人的行为遗传分为哪几类 [填空题]MySQL的连接操作包括内连接.( )和交叉连接. [判断题]社会生活类尤其是人文风光类纪录片的解说则多用文学. 散文手法, 既 ...

  2. mysql 替换 斜杠_Mysql like查询语句中,结果包含反斜杠 \ 字符的,需要替换成四个反斜杠 \\\\...

    如题,当SQL语句中使用Like查询,且期望匹配的结果中含有"\"的,应当把"\"替换为"\\\\". 比如数据库中text字段有以下三行: ...

  3. mysql用in报错_Mysql子查询IN中使用LIMIT

    学习下Mysql子查询IN中使用LIMIT的方法. 这两天项目里出了一个问题,mysql LIMIT使用后报错. 需求是这样的,我有3张表,infor信息表,mconfig物料配置表,maaply物料 ...

  4. mysql查询语句 变量_mysql查询语句中用户变量的使用

    先上代码吧 SELECT `notice`.`id` , `notice`.`fid` , `notice`.`has_read` , `notice`.`notice_time` , `notice ...

  5. mysql 中like用法_mysql查询语句中like 的用法

    1.常见用法: (1)搭配%使用 %代表一个或多个字符的通配符,譬如查询字段name中以大开头的数据: (2)搭配_使用 _代表仅仅一个字符的通配符,把上面那条查询语句中的%改为_,会发现只能查询出一 ...

  6. Mysql 子查询 (查询语句中带查询语句)

    子查询:指一个"正常查询语句"中的某个部分(比如select部分,from 部分,where 部分)又出现了查询的一种查询形式,比如: select * from 表名 where ...

  7. mysql 数据库里查询语句中不等于的两种写法

    mysql 数据库里查询语句中不等于的两种写法 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 1.my ...

  8. 中两个查询结果相减_MySQL 在查询结果中插入伪行

    有时候需要将多个表合并展示,但是结果中只会显示首先查询语句中的字段名,被连接的查询表中无字段名显示,这样会造成不知道哪些数据属于哪张表的结果. 例如像下面这样: SELECT tname,tsex,t ...

  9. python查询数据库带逗号_浅谈pymysql查询语句中带有in时传递参数的问题

    直接给出例子说明: cs = conn.cursor() img_ids = [1,2,3] sql = "select img_url from img_url_table where i ...

最新文章

  1. ECCV 2018|商汤37篇论文入选,为你解读精选论文(附链接+开源资源)
  2. WCF方法拦截及OperationInvoker传递参数到WCF方法的实现
  3. 在shell中编写函数
  4. Tableau系列之使用日期
  5. 带通 带阻滤波器 幅频响应_二阶有源带通滤波器设计
  6. 几大 Git 平台仓库被劫,黑客欲勒索比特币
  7. 计算机类专业要求高中选课,高一选课|12个学科门类、94个专业大类选课要求和招生人数分析...
  8. [学习]17 每天只睡6小时,依然精力充沛
  9. CKEditor与CKFinder学习--安全的使用CKFinder与权限控制
  10. 完美世界年营收85亿:同比降17% 影视业务整体产生亏损2亿
  11. Linux/Unix下Shell快捷键操作大集合
  12. Introduction to Reinforcement Learning notes
  13. M2M技术的基本框架
  14. jdk8新特性之出现This inspection finds all usages of methods that have @since tag in their documentation.
  15. matplotlib+basemap画出标记地图
  16. JAVA JSP javaweb 火车订票系统(订票系统 火车票预订系统
  17. 我是马云:新入职员工勿批判公司
  18. 洛谷P1979 华容道(dfs)
  19. 备战 2023 秋招,应届生应做好哪些准备,22道Java架构师面试题及答案分享
  20. R语言中实现线性回归+l_0范数变量选择的包abess

热门文章

  1. 牛客 [编程题] 回文解码
  2. Android 多线程及线程通信
  3. 博客重构 / Blog Refactoring
  4. Javascript中的陷阱大集合【译】
  5. linux ssh 设置的相关总结(ssh最大连接数、ssh连接时长、安全性配置等)
  6. linux centos7 createrepo 创建本地 yum 仓库
  7. mysql null 和 空字符串 区别
  8. 网络流媒体协议 RTSP协议
  9. ASP.NET前台代码绑定后台变量方法总结
  10. linux大小写敏感 mysql_MySQL大小写敏感问题和命名规范