首页 > 解决方案 > 如何分离从表行中获取的值并将其存储在雪花中的数组中

问题描述

我需要在存储过程中返回一个数组,该数组从表中获取逗号分隔的字符串值,并根据逗号分割该字符串并将它们存储在一个数组中。

示例:我的表有一个列 Tab_Val,其行值为"COL1,COL2,COL3,COL4",我需要在存储过程中获取这一行并返回一个数组为arr =['COL1','COL2','COL3','COL4']

这是我的尝试:

CREATE OR REPLACE PROCEDURE TAB()
    RETURNS ARRAY
    LANGUAGE JAVASCRIPT
    AS
    $$
    var arr = [];
    var stmt = snowflake.createStatement({sqlText: "Select Tab_Val From TABLE1"});
    var r = stmt.execute(); 
    return arr;
    $$

标签: javascriptsqlstored-proceduressnowflake-cloud-data-platform

解决方案


尝试这个

CREATE OR REPLACE TABLE ARRAY_TABLE(ARRAY_CONTENT VARCHAR);
INSERT INTO ARRAY_TABLE VALUES('APPLE,ORANGE,GRAPES,PEARS');
SELECT SPLIT(ARRAY_CONTENT, ',') as str_array FROM ARRAY_TABLE;

推荐阅读