SQL语法中sequence函数的用法

使用方法:
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,过滤非工作日日期,关联使用等。

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值