【发布时间】:2020-01-08 04:44:30
【问题描述】:
我试图深入研究文档,但似乎找不到任何我想要的东西。 PostgreSQL 中的各种 JSON/B 运算符(->、->>、@>、? 等)是否有等效功能?
编辑:澄清一下,我想知道是否可以让以下分组查询返回相同的结果:
SELECT '{"foo": "bar"}'::json->>'foo'; -- 'bar'
SELECT json_get_value('{"foo": "bar"}'::json, 'foo'); -- 'bar'
SELECT '{"foo": "bar"}'::jsonb ? 'foo'; -- t
SELECT jsonb_key_exists('{"foo": "bar"}'::jsonb, 'foo'); -- t
【问题讨论】:
-
只是好奇,您将哪些东西与这些运算符进行比较
-
@AnthonySottile 我想一个例子可能是
ST_GeomFromText(geom)和geom::geometry。我知道他们不是直接平等的,而是相似的想法 -
你到底想做什么?以及基于什么语言的运营商? JSON 本身没有这样的运算符。
-
@JorgeCampos 他们在Postgresql 中可用,我会用一个例子来更新我的问题
-
我知道。那么问题来了,等价于什么? JSON 本身?
标签: json postgresql