我们大家都知道,需要查询某一字段值包含指定字符串可以使用like和通配符实现,例如,查询users表中username字段值包含"php"的用户,可以这样实现:
select *from users where username like \'%php%\'
但如果要查询username字段值包含"\\"的用户,该如何写SQL呢,当然也是使用like和通配符实现。 这里我们先来了解一下mysql中的反斜线。
由于 MySQL在字符串中使用 C转义语法(例如, 用‘\\n’代表一个换行字符),在LIKE字符串中,必须将用到的‘\\’双写。例如, 若要查找 ‘\\n’, 必须将其写成 ‘\\\\n’。而若要查找 ‘\\’, 则必须将其写成 like ‘%\\\\\\\\%’;原因是反斜线符号会被语法分析程序剥离一次,在进行模式匹配时,又会被剥离一次,最后会剩下一个反斜线符号接受匹配。
因此,如果我们要查询username字段值包含"\\"的用户,sql语句应该是这样的:
select *from users where username like \'%\\\\\\\\%\';/*必须是四个反斜线*/
如果要查询有两个反斜线(\\\\)的数据记录,sql语句应该是这样的:
select *from users where username like \'%\\\\\\\\\\\\\\\\%\';/*必须是八个反斜线*/ 继续阅读与本文标签相同的文章
上一篇 :
一个小型嵌入式操作系统设计:精髓都有了
-
华为高管彭博:正与美国公司就授权5G平台展开初期谈判
2026-05-14栏目: 教程
-
微信曝光新功能,超好用,再也不用担心被刷屏
2026-05-14栏目: 教程
-
Verizon为美国多座大型体育场馆提供了5G网络覆盖
2026-05-14栏目: 教程
-
别人加薪你加班,偷偷告诉你 6 个Word小技巧,比加薪都管用!
2026-05-14栏目: 教程
-
华为轮值董事长郭平:虚拟技术创造现实价值
2026-05-14栏目: 教程
