You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake查询含对象数组的表时筛选指定对象属性的语法

Snowflake 保留数组对象指定属性的查询语法

你可以通过两种方式实现需求,核心都是遍历数组并处理每个对象:

方法一:明确构造目标对象(适合保留少数属性的场景)

用ARRAY_TRANSFORM遍历数组中的每个对象,再通过OBJECT_CONSTRUCT重新构建只包含需要属性的对象:

SELECT
    email,
    ARRAY_TRANSFORM(
        myarray,
        obj -> OBJECT_CONSTRUCT(
            'a', obj:a,
            'b', obj:b,
            'c', obj:c,
            'd', obj:d,
            'f', obj:f
        )
    ) AS myarray
FROM mytable;

方法二:直接剔除不需要的属性(适合只删除少数属性的场景)

如果只是要去掉'e'属性,用OBJECT_REMOVE更简洁:

SELECT
    email,
    ARRAY_TRANSFORM(
        myarray,
        obj -> OBJECT_REMOVE(obj, 'e')
    ) AS myarray
FROM mytable;

说明

两种方法输出的myarray都是ARRAY类型,每个元素是符合要求的对象,email保持原VARCHAR类型不变。

内容的提问来源于stack exchange,提问作者Mark G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 00:35:26