我需要在存储过程中返回一个数组,该过程从表中获取一个逗号分隔的字符串值,并根据逗号对字符串进行划分并将其存储在数组中。
示例:我的表具有一个列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;
$$
答案 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;