sql - 如何在雪花中选择一个 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
解决方案
它可以通过以下方式完成:
select split_part("Var_Col", ';', 1)
, split_part("Var_Col", ';', 2)
, split_part("Var_Col", ';', 3)
from "TABVAR"
推荐阅读
- delphi - 带有 Delphi-7 的 Indy10 无法下载某些 SSL 页面,即使使用 2019 年 5 月的 DLL
- forms - 如何在 Blazor 中获得级联值?
- java - 当 ForkJoinPool 结束时
- haskell - 使用 Haskell 解析嵌套的 yaml
- reactjs - GET 请求在 url 中未定义
- mysql - 此版本的 MySQL 尚不支持 'LIMIT & IN/ALL/ANY/SOME 子查询'同时提取第 6 大薪水
- java - 在不获取 NullPointerException 的情况下设置 null
- javascript - 仅在反应中阻止特定页面的浏览器后退按钮
- python - 电影推荐系统:预计会看到 2 个数组,但得到了以下 1 个数组的列表
- java - 有没有办法在排序的集合或数组之间放置换行符?