从 Postgres JSONB 字段中选择缺失值
Selecting absent value from Postgres JSONB field
我在 PostgreSQL 10.5[=18] 上有一个 table entries
,其字段 details
类型为 jsonb
,默认值为 '{}'::jsonb
=]
当我运行
SELECT details->foo FROM entries
我得到一个
ERROR: column "foo" does not exist.
从 https://www.postgresql.org/docs/10/functions-json.html 我知道当键不存在时我应该得到一个 NULL
值是 JSON。我理解错了吗?如果是这样,我如何提取具有默认值的字段?
您需要提供 JSON 键作为字符串常量:
SELECT details -> 'foo'
FROM entries;
我在 PostgreSQL 10.5[=18] 上有一个 table entries
,其字段 details
类型为 jsonb
,默认值为 '{}'::jsonb
=]
当我运行
SELECT details->foo FROM entries
我得到一个
ERROR: column "foo" does not exist.
从 https://www.postgresql.org/docs/10/functions-json.html 我知道当键不存在时我应该得到一个 NULL
值是 JSON。我理解错了吗?如果是这样,我如何提取具有默认值的字段?
您需要提供 JSON 键作为字符串常量:
SELECT details -> 'foo'
FROM entries;