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

How to query date field of json object in PostgreSQL 9.3?

想象一个带有 table 的 PostgreSQL 9.3,它有一个包含对象的 sql 列:

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

我如何查询它以获取开始日期 > :"2016-01-01 00:00:00.000" 的对象?

此问题专门针对 版本 9.3

应该这样做:

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

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