【发布时间】:2019-10-06 00:23:35
【问题描述】:
我正在处理一个比较最后一个条目和新条目之间的列中的 jsonb 值的事件。我有另一个表,它通过传递 jsonb 对象本身来定义要比较的值。我正在使用的东西是这样的:
select jsonb_extract_path(_tmp_jsonb, 'key_1', 'key2') into target;
我正在查看的 jsonb 对象是这样的:
{
"key1": {"key2": 15},
"key3": {"key2": {"key4": 25}}
}
现在我可以使用上面的命令得到 15 没有问题,但我想做的是能够将任何组合键作为 jsonb 数组传递,例如 {"search_keys":["key3", "key2", "key4"]}。所以是这样的:
select jsonb_extract_path(_tmp_jsonb, ["key3", "key2", "key4"]) into target;
更清楚地说,我要问的是如何在 postgres 中使用可变长度参数数组,就像在 python 中使用 *args 所做的那样。
【问题讨论】:
标签: postgresql plpgsql jsonb