presto-获取当前日期的最近n个工作日

本文介绍如何利用Presto SQL查询语句,有效地获取当前日期之前的n个工作日,详细阐述了相关的时间函数和工作日计算逻辑,对于数据分析和报告生成具有实用价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#手动传入2020年的所有节假日
select
	cast(dt as varchar(32)) as four_work_day_ago
	,date('2019-12-17') as dt
from 
(
	select
		dt,
		row_number() over(order by dt desc) as rank1
	from (values sequence(date('2019-12-18'),date('2019-12-18')-interval '20' day)) as D(t)--传参获取时间段 
	      cross join unnest(t) as D(dt)
	where (dow(dt) between 1 and 5 and dt not in (date'2020-01-01',date'2020-04-06',date '2020-06-25',date '2020-06-26') and dt not between date '2020-01-24' and date '2020-01-30'
           and dt not between date '2020-05-01' and date '2020-05-05' and dt not between date '2020-10-01' and date '2020-10-08' 
          )--去掉周末和节假日
          or dt in (date'2020-01-19',date '2020-02-01',date '2020-04-26',date '2020-05-09',date '2020-06-28',date '2020-09-27',date '2020-10-10') --周末上班日
) where rank1=4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值