mysql如何查询有两个反斜线(\\)的数据记录

我们大家都知道,需要查询某一字段值包含指定字符串可以使用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 '%\\\\\\\\%';/*必须是八个反斜线*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值