0

假设我有一列包含一些字符串。我需要的是获取用户输入并对那些包含用户输入的文本的行执行 sql select 语句。举个例子,假设我有一个名为“drinks”的专栏。其中一排的饮料列中有“茶”+“咖啡”之类的东西。现在,如果用户输入茶或咖啡,我需要返回该行。执行此操作的最佳方法是什么?

 id   ingredients  drinks
  1   milk,sugar    tea+coffee
4

1 回答 1

1

如果你需要一次搜索一个词,你可以使用这样的东西:

SELECT *
FROM yourtable
WHERE
  FIND_IN_SET('tea', REPLACE(drinks, '+', ','))

或者如果您已经知道要搜索的饮料数量,您可以添加一些 OR 条件:

WHERE
  FIND_IN_SET('tea', REPLACE(drinks, '+', ',')) OR
  FIND_IN_SET('coffee', REPLACE(drinks, '+', ','))
于 2013-05-12T10:11:06.240 回答