lateral view explode中不能使用变量吗

Viewed 33

1、首先通过sequence建立了一个时间数组
select sequence(cast('2024-09-01' as datetimev2(0)), cast(( str_to_date(CURDATE(), '%Y-%m-%d %H:%i:%s')) as datetimev2(0))) as 时间
image.png
2、然后我想把这个序列解析,转行
select e1 from (select 1) t lateral view explode((select sequence(cast('2023-09-01' as datetimev2(0)), CURRENT_DATE()))) t2 as e1;
提示以下错误
image.png
3、但是,如果我把其中的CURRENT_DATE()替换为常量,则没有问题
image.png

3 Answers

explode中还不支持写子查询。用inline view嵌套代替一下吧

SELECT e1 FROM (SELECT sequence(...) as s) t LATERAL VIEW explode(s) l as t1

已复现,跟进中,有进展会更新回帖。

SELECT e1 FROM (SELECT sequence(cast('2023-09-01' as datetimev2(0)), cast(CURDATE() as datetimev2(0))) as s) t LATERAL VIEW explode(s) l as e1
image.png