简体   繁体   English

如何将 select 变体列与一个 csv 行作为雪花中的多个列?

[英]How to select variant column with one csv row as multiple columns in Snowflake?

I got a table TABVAR in snowflake which has column Var_Col which is VARIANT type.我在雪花中有一个表 TABVAR,其中有列 Var_Col,它是 VARIANT 类型。 I load there each row from some csv, so values are like 'val1;val2;val3'.我从一些 csv 加载每一行,所以值就像'val1;val2;val3'。

I know that i can query it as columns directly from csv, but i have to do it other way.我知道我可以直接从 csv 将其作为列查询,但我必须以其他方式进行。

The question is how to query Var_Col to obtain something like:问题是如何查询 Var_Col 以获得类似的东西:

select firstValFromVar_Col, secondValFromVar_Col, thirdValFromVar_Col
from  TABVAR

I mean the query like above and result be like:我的意思是上面的查询和结果是这样的:

Col1 Col2 Col3
val1 val2 val3

Output of Select * from TABVAR: Output 的 Select * 来自 TABVAR:

Var_Col
val1;val2;val3

It can be done with:它可以通过以下方式完成:

select   split_part("Var_Col", ';',  1)
, split_part("Var_Col", ';',  2)
, split_part("Var_Col", ';',  3)
from "TABVAR"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM