Поиск текста в квадратных скобках и речевых знаков SQL - PullRequest
0 голосов
/ 02 марта 2019

Я хочу найти текст в скобках и речевые метки.Значения в столбце выглядят так: ["flour","butter","eggs"]

Я пробовал:

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

Th, однако, er не работает.

Как мне написатьзапрос на возврат строк, содержащих только нужные слова?Вся помощь очень ценится.

Ps.Я знаю, что данные не должны были храниться таким образом, и они не в правильной нормальной форме.Мне просто нужен способ найти это сейчас.

1 Ответ

0 голосов
/ 02 марта 2019

Ну, если это JSON, вы должны сохранить его как JSON, а не строку.

Тем не менее, вы можете использовать LIKE:

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

Некоторые комментарии о кавычках,Вы, кажется, очень смущены кавычками в вашем запросе.

  • У вас есть 'posts' в качестве имени таблицы в одинарных кавычках.Это на самом деле вернет ошибку.Единственное допустимое цитирование здесь - это экранирующие символы (обратные символы).Однако они не нужны.
  • Ваши данные заключены в двойные кавычки вокруг значений.Однако в строке сравнения вы удвоили одинарные кавычки.Одинарные и двойные кавычки - это разные вещи.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...