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

Posted

技术标签:

【中文标题】如何分离从表行中获取的值并将其存储在雪花中的数组中【英文标题】:How to separate a value taken from a table row and store it in an array in a snowflake 【发布时间】:2020-09-17 15:42:17 【问题描述】:

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

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

试试这个

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;

【讨论】:

以上是关于如何分离从表行中获取的值并将其存储在雪花中的数组中的主要内容,如果未能解决你的问题,请参考以下文章

如何将所有数据提取到拆分行中的雪花对象数组中?

MySQL 从表中获取数据并检查表行中是不是存在用户 ID

雪花上的 SQL 存储过程将绑定列视为字符串,并且它没有从表中获取其值

读取特定行中的值(可变数量的值)并将它们存储在数组中

如何从我的 jquery 函数中获取表行中选定选项的值

需要一种更好的方法来将一个列值与同一表行中的多个列值进行比较