首页 > 解决方案 > 如何在雪花中选择一个 csv 行的变量列作为多列?

问题描述

我在雪花中有一个表 TABVAR,其中有列 Var_Col,它是 VARIANT 类型。我从一些csv加载每一行,所以值就像'val1;val2;val3'。

我知道我可以直接从 csv 将其作为列查询,但我必须以其他方式进行。

问题是如何查询 Var_Col 以获得类似的东西:

select firstValFromVar_Col, secondValFromVar_Col, thirdValFromVar_Col
from  TABVAR

我的意思是上面的查询和结果是这样的:

Col1 Col2 Col3
val1 val2 val3

从 TABVAR 中选择 * 的输出:

Var_Col
val1;val2;val3

标签: sqlcsvsnowflake-cloud-data-platformvariant

解决方案


它可以通过以下方式完成:

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

推荐阅读