在PostgreSQL 10.5上,我有一个表entries
和一个字段details
,类型为jsonb
,默认值为'{}'::jsonb
当我运行
SELECT details->foo FROM entries
我得到一个
错误:列“ foo”不存在。
从https://www.postgresql.org/docs/10/functions-json.html中我了解到,当不存在密钥是JSON时,我应该获得一个NULL
值。我听错了吗?如果是这样,如何提取具有默认值的字段?
答案 0 :(得分:2)
您需要提供JSON密钥作为字符串常量:
SELECT details -> 'foo'
FROM entries;