ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

MySQL 用 REGEXP 前瞻断言实现多关键词同时匹配

MySQL 用 REGEXP 前瞻断言实现多关键词同时匹配

站内搜索常让用户输入逗号分隔的多个关键词,要求地址等字段同时包含全部关键词。用多个LIKE拼AND当然可以,但关键词数量不固定,写死条件很难维护。MySQL 8.0 起可以用带前瞻断言的正则一次表达"全都包含"的语义。

问题现象

比如用户输入Gurugram, Haryana, India,期望address字段同时包含这三个词。常规写法是逐词LIKE:

SELECT*FROMusersWHERE(addressLIKE'%Gurugram%'ANDaddressLIKE'%Haryana%'
返回列表