gpt4 book ai didi

javascript - 雪花中的 ARRAY_REMOVE()?

转载 作者:行者123 更新时间:2023-12-05 00:36:26 27 4
gpt4 key购买 nike

Postgresql 具有 ARRAY_REMOVE 函数来从数组中删除元素。我怎样才能在雪花中做到这一点?

最佳答案

UDF 方法效果很好,如果您愿意,可以使用另一种方法:

  • 利用真棒snowflake caching如果您使用 UDF 的
  • 则不起作用
  • 只需编写普通 SQL
  • 不保证数组的顺序

  • 取决于用例......如果您不太可能从缓存中受益并且想要“更干净”的代码,那么 UDF 可能是最好的 - 但是如果您可能从缓存中受益,那么只喜欢 SQL 那么这种方法可能有用。
    FLATTEN the ARRAY -> Predicate data -> Return via ARRAY_AGG
    SELECT 
    ARRAY_AGG(VALUE) REMOVED
    FROM
    CTE, LATERAL FLATTEN(AN_ARRAY)
    WHERE
    VALUE!='A'
    enter image description here
    同样的例子工作得很好。
        select 
    array_agg(value)
    from
    table(flatten(input => parse_json('["a", "b", "c", "a"]')))
    where
    value not in ('a');
    select
    array_agg(value)
    from
    table(flatten(input => parse_json('[4, 1, 4, 2, 3, 4]')))
    where
    value not in (4);
    select
    array_agg(value)
    from
    table(flatten(input => parse_json('[4.3, 1.1, 4.2, 0.1, 3.3, 0.2]')))
    where
    value not in (0.2);

    关于javascript - 雪花中的 ARRAY_REMOVE()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68748322/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com