如何在PostgreSQL 9.3中查询json对象的日期字段?
问题描述:
想象一个PostgreSQL 9.3使用具有包含对象的SQL列的表:如何在PostgreSQL 9.3中查询json对象的日期字段?
{"start":"2016-02-04 00:45:56.000"}
我如何可以查询它来获取与起始日期>目标:“2016年1月1日00:00:00.000 “?
这个问题是specificly为9.3版
答
像这样的东西应该这样做:
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
。
谢谢@redneb!这是我自己弄不明白的秘密来源的时区:) – BanzaiTokyo