如何分离从表行中获取的值并将其存储在雪花中的数组中

时间:2020-09-17 15:42:17

标签: javascript sql stored-procedures snowflake-cloud-data-platform

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

示例:我的表具有一个列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;
    $$

1 个答案:

答案 0 :(得分:1)

尝试一下

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;