【发布时间】:2013-07-15 07:56:28
【问题描述】:
我将此 JSON 存储在 DB 中: 列名:json
- '{"brand":"1","year":"2008","model":"2","price":"2001212","category":"Category Example"}'
- '{"brand":"1","year":"2008","model":"2","price":"2001212","category":"Category Example2"}'
我想使用 Like 运算符进行搜索以查找所有带有“Category”字样的类别:
此时我正在这样做,但只返回一个完整的短语:
select * from table where json like '%"category":"Category Example"%';
我如何构建一个返回所有带有“类别词”的类别的查询?
更新:
我正在使用 MySQL 谢谢
【问题讨论】:
-
您应该将该数据存储在表中而不是列中。
-
您使用的是什么 DBMS?可能有一些工具可以帮助解决这个问题(例如,最新版本的 Postgres 包含 JSON 数据类型)。但是,正如 Musa 所说,执行此类查询的需要确实表明将数据规范化为自己的完整表是一个好主意。
-
categories with "Category" word或categories with "Category word",会是哪个? -
我正在使用 MySQL,正如 Musa 所说,最好的方法是使用表。但是,此时我必须将数据存储为 JSON。