在PostgreSQL文本数组中选择数据字段json

时间:2015-03-05 01:00:34

标签: json postgresql

我在PostgreSQL 9.3中有一个表books,其字段为json

CREATE TABLE books ( 
    id integer, 
    data json 
);

表格的行

我需要在字段select(表)的字段author(json)中执行data

示例:

select * from books where data->>'author' = 'Bob' or data->>'author' = 'Xavier'

有可能吗?

由于

1 个答案:

答案 0 :(得分:0)

好的,我现在明白你的问题。关于如何设置东西,答案非常简单。

select * from books where data->>'author' = 'Bob' or data->>'author' = 'Xavier'

原因 - >>不起作用是因为该领域的作者'不是字符串类型,它实际上是类型数组。所以当你使用#>>您需要指定所需数组的元素。看这里:http://www.postgresql.org/docs/9.3/static/functions-json.html

编辑:通读本文,它将帮助您了解如何访问JSON数据字段的不同部分。 http://schinckel.net/2014/05/25/querying-json-in-postgres/