Dan*_*lan 2 sql presto amazon-athena
在AWS Athena中,我想编写如下查询:
SELECT some_function('row1,row2,row3');
Run Code Online (Sandbox Code Playgroud)
再回来
row1
row2
row3
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
我知道我可以改写这个,但这对我来说不太方便:
select * from (values ('row1'), ('row2'), ('row3'))
Run Code Online (Sandbox Code Playgroud)
您可以使用split函数将字符串转换为数组,然后UNNEST将数组转换为行。例如:
WITH t AS (
SELECT 'row1,row2,row3' AS data
)
SELECT value
FROM t
CROSS JOIN UNNEST(split(t.data, ',')) as x(value)
Run Code Online (Sandbox Code Playgroud)
value
-------
row1
row2
row3
(3 rows)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |