如何在雪花中选择一个 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

Select * from TABVAR 的输出

Var_Col
val1;val2;val3

解决方法

可以通过以下方式完成:

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