在方括号和语音标记SQL中搜索文本

问题描述 投票:0回答:1

我想在括号和语音标记中搜索文本。列中的值如下所示:["flour","butter","eggs"]

我试过了:

SELECT * FROM 'posts' WHERE ingredients = '''butter'''

但是,呃不起作用。

如何编写查询以返回仅包含所需单词的行?非常感谢所有帮助。

PS。我知道数据不应该像这样存储,并且它不是正确的正常形式。我现在只需要一种方法来搜索它。

mysql sql
1个回答
1
投票

好吧,如果这是JSON,你应该把它存储为JSON,而不是字符串。

也就是说,你可以使用LIKE

SELECT p.*
FROM posts p
WHERE ingredients LIKE '%"butter"%';

关于报价的一些评论。您的查询中的引号似乎很困惑。

  • 您将'posts'作为单引号中的表名。这实际上会返回错误。这里允许的唯一引用是转义字符(反引号)。但是,它们不是必需的。
  • 您的数据在值周围有双引号。但是,您在比较字符串中将单引号加倍。单引号和双引号是不同的东西。
© www.soinside.com 2019 - 2024. All rights reserved.