假设我有一个包含一些字符串的列。我需要的是获取用户输入并在包含用户输入的文本的行上执行sql select语句。举个例子,假设我有一个名为“drink”的专栏。其中一排在饮料栏内有“茶”+“咖啡”之类的东西。现在,如果用户输入茶或咖啡,我需要返回该行。执行此操作的最佳方法是什么?
id ingredients drinks
1 milk,sugar tea+coffee
答案 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, '+', ','))