使用 MySQL 的 LIKE 运算符掌握不区分大小写的搜索
MySQL 的 LIKE
运算符对于数据库列中的模式匹配非常有用。 但是,其默认区分大小写的性质可能会出现问题。 本指南演示了如何执行高效的不区分大小写的搜索。
考虑一个名为 trees
的表,其中 title
列存储树名称。要查找所有包含“elm”的树,像这样的简单方法无法捕获所有变化:
<code class="language-sql">SELECT * FROM trees WHERE trees.title LIKE '%elm%';</code>
此查询区分大小写,缺少不同大小写的条目(例如“Elm”、“ELM”)。 解决方案在于使用 LOWER()
或 UPPER()
函数。
LOWER()
函数在比较之前将列值转换为小写,从而实现不区分大小写的匹配:
<code class="language-sql">SELECT * FROM trees WHERE LOWER(trees.title) LIKE '%elm%';</code>
此修改后的查询成功检索包含“elm”、“ELM”或任何其他大小写变体的记录。 同样,UPPER()
转换为大写以获得相同的效果。 选择最适合您的数据和查询需求的函数。
以上是如何在 MySQL 中执行不区分大小写的 LIKE 搜索?的详细内容。更多信息请关注PHP中文网其他相关文章!