如何在Snowflake中从记录数组中选取指定单个值
解决方案
假设你的数组列名为arr_col,可通过以下SQL提取目标值:
SELECT -- 从数组第一个元素中提取val1作为col1 SPLIT_PART(ARRAY_GET(arr_col, 0), '\t', 1) AS col1, -- 从数组第二个元素中提取val6作为col2 SPLIT_PART(ARRAY_GET(arr_col, 1), '\t', 1) AS col2 FROM dw.public.arr_table;
关键逻辑说明
ARRAY_GET(arr_col, 0):获取数组的第一个元素(Snowflake数组索引从0开始),即包含val1至val5的字符串SPLIT_PART(..., '\t', 1):将提取到的字符串按制表符\t拆分,取第1个分段得到val1- 同理,
ARRAY_GET(arr_col, 1)获取数组第二个元素,拆分后取第一分段得到val6
若你的数组列名不是arr_col,替换为实际列名即可执行。
内容的提问来源于stack exchange,提问作者Adx
相关产品推荐
相关产品推荐

