背景
业务上计算业绩需要剔除掉指定放假时间,我们这里的放假时间维护在一个mysql表中,进行动态配置,所以需要自定义函数来计算当前日期几天之后的时间,这几天中如果包含myql表中存储的放假日期,则需要剔除掉,然后进行顺延。
如下,计算2023-01-25这个日期7天之后是什么日期,正常是2023-02-02,但是现在需要剔除掉配置时间confid_days中的两天,最后结果是2023-02-04。需要将这个逻辑写成udf函数,进行使用。
python代码实现
在资源处右键新建python资源。
填写代码
阿里云函数注册,其中类名出是--文件名.类名 的组合。
测试
select dateadd_exclude_date('2023-01-25 00:00:00',7,array('2023-01-26 00:00:00','2023-01-27 00:00:00')) from ods_saas_crm_un_assign_switch_log_df where ds = '${bizdate}' limit 1;
参考文档: