将逗号分隔的值拆分为多列

问题描述

我正在尝试使用SQL将逗号分隔的列拆分为多个列,以使每个分隔的值都位于Snowflake上自己的列下

这是我的桌子的一个例子

run()

这是我尝试过的:

"2015-01-01","00:52:44",161144,"3.1.0","x86_64","mingw32","Formula","1.1-2","US",1

这给了我错误消息:

SQL编译错误:位置59的语法错误第1行意外 ''日期''。语法错误第1行的位置149意外出现')'。

解决方法

您正在寻找split_part

SPLIT_PART(<string>,<delimiter>,<partNumber>)

不过请小心列名。其中一些可能是SQL中的保留关键字,并且可能会引发错误

with your_table as 
(select 'date,time,size,r_version,r_arch,r_os,package,version,country,ip_id' as col)

select split_part(col,',1) as date,split_part(col,2) as time,3) as size,4) as r_version,5) as r_arch,6) as r_os,7) as package,8) as version,9) as country,10) as ip_id
from your_table;

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...