在使用 LIKE 关键字时是不是可以在 MySQL 查询中使用 _ 作为普通字符 [重复]

Posted

技术标签:

【中文标题】在使用 LIKE 关键字时是不是可以在 MySQL 查询中使用 _ 作为普通字符 [重复]【英文标题】:Is it possible to use _ as an normal character in MySQL query while using LIKE keyword [duplicate]在使用 LIKE 关键字时是否可以在 MySQL 查询中使用 _ 作为普通字符 [重复] 【发布时间】:2021-10-04 17:00:38 【问题描述】:

我有一个 mysql 查询,它使用 LIKE 将字符串与我的表列之一进行匹配,并且在大多数情况下都可以正常工作。

select * from TableName where Column like "%STRING%"

但是不,我有一组记录,其中包含“_0”。在这种情况下,我会收到类似这样的 get 查询。

select * from TableName where Column like "%_0%"

在这种情况下,MySQL 将 _ 作为通配符并跳过字符串中的第一个索引

现在我的问题是,是否有可能让这个搜索按原样工作,以任何方式告诉 MySQL 它不是 (_) 通配符,所以搜索字符串。 非常感谢您的帮助。

提前致谢。

Query Result Image

【问题讨论】:

MySQL SQL Server - 请更正您的标签。 好像是***.com/q/22167132/366965的副本 【参考方案1】:

您可以使用反斜杠对其进行转义:

where Column like '%\_0%'

或者使用你自己的转义字符:

where Column like '%$_0%' escape '$';

【讨论】:

嗨,戈登,感谢您的回复,我尝试了您提到的两种方法,但对我没有用。尽管表中的记录为 _0,但它的记录为零

以上是关于在使用 LIKE 关键字时是不是可以在 MySQL 查询中使用 _ 作为普通字符 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

MySQL使用总结

MySQL模糊查询再也不用like+%了

MySQL模糊查询再也用不着 like+% 了!

关于mysql的性能优化

在 mysql 中索引文本是不是可以改善使用 LIKE '%search%' 的搜索文本

mysql如何使用like关键字实现模糊查询?有啥注意事项