将雪花中的单行值拆分为多行

Raj*_*hmi 2 sql snowflake-cloud-data-platform

我有一个表,其中列数据具有由“;”分隔的值的组合。我想将它们分成每个列值的行。

表数据 在此输入图像描述

现在我想将它们分成多行,每个值如下

在此输入图像描述

我尝试过使用下面的 SQL 语句。

SELECT DISTINCT COL_NAME FROM "DB"."SCHEMA"."TABLE,
LATERAL FLATTEN(INPUT=>SPLIT(COL_NAME,';'))
Run Code Online (Sandbox Code Playgroud)

但输出并不如预期。附上下面的查询输出。

在此输入图像描述

基本上查询对我的数据没有任何作用。

Luk*_*zda 5

可以使用SPLIT_TO_TABLE表函数来实现:

此表函数拆分字符串(基于指定的分隔符)并将结果展平为行。

SELECT * 
FROM tab, LATERAL SPLIT_TO_TABLE(column_name, ';')
Run Code Online (Sandbox Code Playgroud)