我想在括号和语音标记中搜索文本。列中的值如下所示:["flour","butter","eggs"]
我试过了:
SELECT * FROM 'posts' WHERE ingredients = '''butter'''
但是,呃不起作用。
如何编写查询以返回仅包含所需单词的行?非常感谢所有帮助。
PS。我知道数据不应该像这样存储,并且它不是正确的正常形式。我现在只需要一种方法来搜索它。
好吧,如果这是JSON,你应该把它存储为JSON,而不是字符串。
也就是说,你可以使用LIKE
:
SELECT p.*
FROM posts p
WHERE ingredients LIKE '%"butter"%';
关于报价的一些评论。您的查询中的引号似乎很困惑。
'posts'
作为单引号中的表名。这实际上会返回错误。这里允许的唯一引用是转义字符(反引号)。但是,它们不是必需的。