带下划线的 MySQL LIKE 查询
在 SQL 中,LIKE 运算符可用于搜索字符串中的模式。但是,当使用带有下划线 (_) 的 LIKE 时,必须特别注意。
问题
当使用 LIKE 搜索包含下划线的字符串时,下划线被视为通配符。这意味着以下查询:
SELECT id FROM images WHERE img_path LIKE 'abc_%'
将返回“images”表中“img_path”列以“abc”开头的所有行,包括带下划线的行(例如“abcde_1.jpg” ).
解决方案
至转义特殊字符并确保LIKE运算符仅匹配以“abc_”开头的字符串,需要使用反斜杠()转义下划线。正确的查询是:
SELECT id FROM images WHERE img_path LIKE 'abc\_%'
解释
通过转义下划线,LIKE 运算符将其视为文字字符。这需要“img_path”列以“abc_”开头才能匹配。结果,仅返回第 1 行和第 2 行。
以上是如何在 MySQL LIKE 查询中转义下划线?的详细内容。更多信息请关注PHP中文网其他相关文章!