我正在尝试使用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意外出现')'。
答案 0 :(得分:1)
您正在寻找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,
split_part(col,',',3) as size,
split_part(col,',',4) as r_version,
split_part(col,',',5) as r_arch,
split_part(col,',',6) as r_os,
split_part(col,',',7) as package,
split_part(col,',',8) as version,
split_part(col,',',9) as country,
split_part(col,',',10) as ip_id
from your_table;