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

Snowflake:将键数组与值数组转换为OBJECT对象

将两个数组合并为Snowflake OBJECT类型数据

需求:把测试表中每行的keys数组与vals数组按对应位置合并,生成由键值对组成的OBJECT类型数据。

测试表创建语句

CREATE TABLE tab(keys ARRAY, vals ARRAY) AS
SELECT ['key1', 'key2', 'key3'], [1,2,3] UNION ALL
SELECT ['keyA', 'keyB'], ['a','b'];

期望结果

KEYS数组VALS数组期望输出OBJECT
["key1", "key2", "key3"][1, 2, 3]{"key1": 1, "key2": 2, "key3": 3}
["keyA", "keyB"]["a", "b"]{"keyA": "a", "keyB": "b"}

解决方案SQL

SELECT
  keys,
  vals,
  ARRAY_TO_OBJECT(ARRAY_ZIP(keys, vals)) AS result_object
FROM tab;

说明

  • ARRAY_ZIP(keys, vals):将两个数组对应位置的元素配对成二维数组,例如把['key1','key2']和[1,2]转换为[['key1',1], ['key2',2]]。
  • ARRAY_TO_OBJECT():将上述二维数组直接转换为OBJECT类型,子数组的第一个元素作为键,第二个作为对应的值。

内容的提问来源于stack exchange,提问作者Lukasz Szozda

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 23:49:58