如何将函数应用于json数组的每个元素?

走开

给定此功能:

CREATE OR REPLACE FUNCTION extract_key(
  i_m JSONB,
  i_key TEXT
) RETURNS JSONB AS $$
BEGIN
  RETURN i_m -> i_key;
END;
$$ LANGUAGE 'plpgsql';

我想写一个函数extract_key_array,其中:

SELECT extract_key_array('hello', '[{"hello": {"id": 1}} ,{"hello": {"id": 2}}]')

输出一个json数组: '[{"id": 1},{"id": 2}]'

欧文·布兰德斯特(Erwin Brandstetter)

您的回答基本上是好的。一些改进:

CREATE OR REPLACE FUNCTION extract_key_array(_key text, _arr jsonb)
  RETURNS jsonb
  LANGUAGE sql STABLE PARALLEL SAFE AS
$func$
SELECT jsonb_agg(elem -> _key) FROM jsonb_array_elements(_arr) elem;
$func$;

与所需的函数调用一起使用:

SELECT extract_key_array('hello', '[{"hello": {"id": 1}} ,{"hello": {"id": 2}}]')

db <>在这里拨弄

  • 一个简单的SQL函数即可完成工作,并且可以内联

  • 声明函数,STABLEPARALLEL SAFE(因为它!),这允许对查询计划进行各种优化。
    出于某些未知原因,不要将其声明IMMUTABLE为被包含。)jsonb_agg()STABLE

  • 您回答切换问题中显示的功能参数的顺序。

关于函数内联:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

kdb数组映射-如何将函数应用于数组的每个元素?

来自分类Dev

如何将用户定义的函数应用于每个numpy数组元素

来自分类Dev

如何将我的助手模块函数应用于数组中的每个元素?

来自分类Dev

如何将函数应用于data.frame的每个元素?

来自分类Dev

如何将函数应用于数据框中的每个元素?

来自分类Dev

如何将函数应用于 Haskell 列表中的每个元素?

来自分类Dev

如何将函数应用于每个“ foreach”结果?

来自分类Dev

如何在MATLAB中通过将函数应用于每个元素的索引来创建数组?

来自分类Dev

如何在MATLAB中通过将函数应用于每个元素的索引来创建数组?

来自分类Dev

如何将 $lt 应用于数组元素?

来自分类Dev

如何将函数应用于数组中的所有元素(在C ++模板类中)

来自分类Dev

如何将多个函数应用于numpy数组?

来自分类Dev

如何将函数应用于数组的索引?

来自分类Dev

当结果取决于前一个单元格时,如何将函数应用于数组的每个元素

来自分类Dev

当元素彼此不同时,如何将“mutate”应用于列的每个元素?

来自分类Dev

将函数应用于数组中的每个元素(O'Reilly食谱示例)

来自分类Dev

将函数应用于向量中元素的每个组合

来自分类Dev

将函数应用于矩阵--arrayfun中的每个元素

来自分类Dev

将函数应用于数据框的列的每个元素

来自分类Dev

将函数应用于数据框的列的每个元素

来自分类Dev

将函数应用于向量中元素的每个组合

来自分类Dev

将函数分别应用于列的每个元素

来自分类Dev

如何将相同的函数应用于字典数组中的每个值?

来自分类Dev

如何将引导程序类应用于 css 文件中的每个相同的 HTML 元素?

来自分类Dev

如何将特定格式应用于向量的每个元素

来自分类Dev

将函数应用于JavaScript数组中的每个对象

来自分类Dev

如何将函数应用于pandas数据框中的列中的每个值?

来自分类Dev

如何将函数应用于列的每个单元格?

来自分类Dev

如何将公式应用于numpy数组的每个单元格

Related 相关文章

  1. 1

    kdb数组映射-如何将函数应用于数组的每个元素?

  2. 2

    如何将用户定义的函数应用于每个numpy数组元素

  3. 3

    如何将我的助手模块函数应用于数组中的每个元素?

  4. 4

    如何将函数应用于data.frame的每个元素?

  5. 5

    如何将函数应用于数据框中的每个元素?

  6. 6

    如何将函数应用于 Haskell 列表中的每个元素?

  7. 7

    如何将函数应用于每个“ foreach”结果?

  8. 8

    如何在MATLAB中通过将函数应用于每个元素的索引来创建数组?

  9. 9

    如何在MATLAB中通过将函数应用于每个元素的索引来创建数组?

  10. 10

    如何将 $lt 应用于数组元素?

  11. 11

    如何将函数应用于数组中的所有元素(在C ++模板类中)

  12. 12

    如何将多个函数应用于numpy数组?

  13. 13

    如何将函数应用于数组的索引?

  14. 14

    当结果取决于前一个单元格时,如何将函数应用于数组的每个元素

  15. 15

    当元素彼此不同时,如何将“mutate”应用于列的每个元素?

  16. 16

    将函数应用于数组中的每个元素(O'Reilly食谱示例)

  17. 17

    将函数应用于向量中元素的每个组合

  18. 18

    将函数应用于矩阵--arrayfun中的每个元素

  19. 19

    将函数应用于数据框的列的每个元素

  20. 20

    将函数应用于数据框的列的每个元素

  21. 21

    将函数应用于向量中元素的每个组合

  22. 22

    将函数分别应用于列的每个元素

  23. 23

    如何将相同的函数应用于字典数组中的每个值?

  24. 24

    如何将引导程序类应用于 css 文件中的每个相同的 HTML 元素?

  25. 25

    如何将特定格式应用于向量的每个元素

  26. 26

    将函数应用于JavaScript数组中的每个对象

  27. 27

    如何将函数应用于pandas数据框中的列中的每个值?

  28. 28

    如何将函数应用于列的每个单元格?

  29. 29

    如何将公式应用于numpy数组的每个单元格

热门标签

归档