如何在PostgreSQL 9.3中查询json对象的日期字段?

时间:2016-09-14 16:03:41

标签: json postgresql postgresql-9.3

想象一个PostgreSQL 9.3,其中一个表包含一个包含对象的SQL列:

{"start":"2016-02-04 00:45:56.000"}

如何查询它以获取具有开始日期>的对象? :“2016-01-01 00:00:00.000”?

此问题特别适用于版本9.3

1 个答案:

答案 0 :(得分:8)

这样的事情应该这样做:

SELECT *
FROM mytable
WHERE (c->>'start')::timestamp with time zone > '2016-01-01'::timestamp with time zone;

我假设该表名为mytable,JSON列名为c。这也假设时间是UTC。如果您的时间是当地时间,请改用timestamp without time zone