【发布时间】:2012-05-20 14:00:17
【问题描述】:
我正在为 PostgreSQL 9.2 中的新 JSON 函数寻找一些文档和/或示例。
具体来说,给定一系列 JSON 记录:
[
{name: "Toby", occupation: "Software Engineer"},
{name: "Zaphod", occupation: "Galactic President"}
]
如何编写 SQL 来按名称查找记录?
在普通 SQL 中:
SELECT * from json_data WHERE "name" = "Toby"
官方的开发手册相当稀少:
- http://www.postgresql.org/docs/devel/static/datatype-json.html
- http://www.postgresql.org/docs/devel/static/functions-json.html
更新我
我整理了一个gist detailing what is currently possible with PostgreSQL 9.2。 使用一些自定义函数,可以执行以下操作:
SELECT id, json_string(data,'name') FROM things
WHERE json_string(data,'name') LIKE 'G%';
更新二
我现在已将我的 JSON 函数移到他们自己的项目中:
PostSQL - 一组用于将 PostgreSQL 和 PL/v8 转换为非常棒的 JSON 文档存储的函数
【问题讨论】:
-
最近才发现Matt Schinckel的这篇博文,里面详细解释了在PostgreSQL中查询JSONschinckel.net/2014/05/25/querying-json-in-postgres
-
@knowbody 这篇文章实际上是关于查询 JSONB 的,这与 JSON 截然不同。我很遗憾没有在帖子中说得更清楚。
标签: sql json postgresql postgresql-9.2 postgresql-9.3