@apple-apple

MYSQL. Как сделать выборку больше/меньше в столбце, где хранятся JSON данные?

Есть столбец, где хранятся JSON данные, тип столбца VARCHAR.
К примеру вот набор данных, которые он содержит:
{"show_title":"","link_titles":"","show_tags":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}

Нужно выбрать записи, где значение параметра "power" больше 0 и меньше X.
Можно ли это сделать SQL запросом, или нужно выбрать все записи, затем уже декодировать json данные и проверять в цикле?
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
iNickolay
@iNickolay
Можно ли это сделать SQL запросом

У вас тип поля varchar, соответственно это просто текст, mysql не может "парсить" текст, так что

нужно выбрать все записи, затем уже декодировать json данные и проверять в цикле

на стороне PHP
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@valerychesnokov
http://chesnokov.fl34.ru/
В MySQL есть тип данных - JSON.
На www.mysqltutorial.org/mysql-json есть примеры.

CREATE TABLE events(
id int auto_increment primary key,
event_name varchar(255),
visitor varchar(255),
properties json,
browser json
);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы