我有一個名爲myfield
一個JSON列,它保存一個JSON文件:如何在使用PostgreSQL的JSON日期中使用比較運算符(如BETWEEN子句)?
{"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日期操作符?