在SQL中执行包含select语句

时间:2013-05-12 10:07:14

标签: mysql

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

 id   ingredients  drinks
  1   milk,sugar    tea+coffee

1 个答案:

答案 0 :(得分: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, '+', ','))