MySQL 的 LIKE 和多个通配符模式
问题:
MySQL 能否有效处理包含多种通配符模式的 LIKE
搜索? 例如,同时搜索包含“40%”、“38%”和“40%”的字符串。
解决方案:
MySQL 不提供直接的 LIKE IN()
函数。 然而,一种高效的解决方法是使用正则表达式 (REGEXP)。 这可以在单个查询中匹配多个模式:
<code class="language-sql">SELECT * FROM fiberbox WHERE field REGEXP '1740|1938|1940';</code>
此查询扫描 fiberbox
表的 field
列,查找包含任何指定模式的行。 |
(管道)符号充当“或”运算符,匹配至少存在一个模式的任何行。
性能注意事项:
REGEXP
与多个 LIKE
语句(例如 WHERE field LIKE '40%' OR field LIKE '38%' OR field LIKE '40%'
)的相对性能在很大程度上取决于特定的数据和查询。 对这两种方法进行基准测试以确定适合您的特定数据集和查询需求的最有效方法至关重要。
以上是MySQL 可以使用多个通配符模式执行 LIKE 搜索吗?的详细内容。更多信息请关注PHP中文网其他相关文章!