使用方法:
sequence(start, stop, step) -生成从start到stop(包括)的元素数组,递增。
返回元素的类型与参数的类型相同表达式。支持的类型有:byte, short, integer, long, date, timestamp。start和stop表达式必须解析为相同的类型。
如果start和stop表达式解析为“日期”或“时间戳”类型然后步长表达式必须解析为'interval'类型;
select sequence(1,10,1);结果会是[1,2,3,4,5,6,7,8,9,10]
select sequence(1,10,2);结果就是[1,3,5,7,9]
比如用在判断或者过滤日期字段的使用
select id, explode(sequence(to_date(startdate),to_date(enddate), interval 1 day)) dat from tablel;
这里的explode将开始日期和结束日期爆炸开来,然后使用sequence可以展示出开始日期和结束日期的间隔,后面加上interval 1 表示步长为一天,单独列出对应的每天的数据;
然后可以对数据count,过滤非工作日日期,关联使用等。