MySQL - 如何使用 LIKE 搜索精确的单词匹配?

新手上路,请多包涵

我正在使用此查询来选择数据:

 mysql_query("SELECT * FROM products WHERE product_name LIKE '%".$search."%'");

唯一的问题是,它有时会选择比我想要的更多。

例如,我想选择产品“BLA”,但我的查询也选择了产品“BLABLA”。需要明确的是,如果我想选择“产品 1”,我不希望查询选择“产品 11”。

有人知道如何管理吗?

谢谢。

原文由 Mike 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 858
1 个回答

您可以涵盖所有可能的选项。

 SELECT
    *
FROM
    `products`
WHERE
    `product_name` like 'BLA' -- Column cointains just that word
    OR `product_name` like 'BLA %' -- The word appears at the beginning
    OR `product_name` like '% BLA' -- The word appears at the end
    OR `product_name` like '% BLA %'; -- The word appears in the middle

原文由 Goldie 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题