【发布时间】:2016-01-13 04:04:47
【问题描述】:
我有一个名为 myfield 的 json 列,其中包含一个 json 文档:
{"createDate": 1448067864151, "id": 1, "name": "hello"}
我可以像这样提取 createDate:
SELECT
myfield->'createDate' AS dt
FROM mytable
我可以使用 JavaScript 正确查看日期
console.log(new Date(1447734116009));
> 2015-11-17T04:21:56.009Z
我该如何完成这样的事情:
SELECT
*
FROM mytable
WHERE myfield->'createDate' BETWEEN '2015-11-1' AND '2015-11-10'
我还想在提取的日期字段上使用大于和小于运算符。
SELECT
*
FROM mytable
WHERE myfield->'createDate' > '2015-11-1'
我不确定如何使用 PostgreSQL 查询语言中的 JSON 扩展来构建它。
基于this help doc,,似乎 Postgres 甚至没有 JSON 的日期运算符。如果没有,是否有其他方法(例如使用自定义函数)将序列化日期转换为其他格式(可能是 ISO 格式?),然后在其上使用常规 PostgreSQL 日期运算符?
【问题讨论】:
标签: javascript json postgresql