从Postgres JSONB字段中选择缺少的值

时间:2019-03-07 10:40:47

标签: sql json postgresql jsonb

在PostgreSQL 10.5上,我有一个表entries和一个字段details,类型为jsonb,默认值为'{}'::jsonb

当我运行

SELECT details->foo FROM entries

我得到一个

  

错误:列“ foo”不存在。

https://www.postgresql.org/docs/10/functions-json.html中我了解到,当不存在密钥是JSON时,我应该获得一个NULL值。我听错了吗?如果是这样,如何提取具有默认值的字段?

1 个答案:

答案 0 :(得分:2)

您需要提供JSON密钥作为字符串常量:

SELECT details -> 'foo' 
FROM entries;