定义变量:
BEGIN
DECLARE workDays INTEGER;
DECLARE adjustmentDay INTEGER;
DECLARE legalRest INTEGER;
SELECT COUNT(1) INTO adjustmentDay FROM pub_apppar WHERE APR_VALUE >= s AND APR_VALUE <= e AND APR_NAME=\'周末是工作日的列表\';
SELECT COUNT(1) INTO legalRest FROM pub_apppar WHERE APR_VALUE >= s AND APR_VALUE <= e AND APR_NAME=\'周一至周五为假期参数列表\';
select (floor(days/7)*5
+ days%7
- case when 6 between wd and wd+days%7-1 then 1 else 0 end
- case when 7 between wd and wd+days%7-1 then 1 else 0 end
+ adjustmentDay
- legalRest) as result
INTO workDays
from
(select datediff(e,s)+1 as days, weekday(s)+1 as wd ) as a;
return workDays;
END
子查询
BEGIN
DECLARE workDays INTEGER;
select (floor(days/7)*5
+ days%7
- case when 6 between wd and wd+days%7-1 then 1 else 0 end
- case when 7 between wd and wd+days%7-1 then 1 else 0 end
+ (SELECT COUNT(1) FROM pub_apppar WHERE APR_VALUE >= DATE_FORMAT(s,\'%Y-%m-%d\') AND APR_VALUE <= DATE_FORMAT(e,\'%Y-%m-%d\') AND APR_NAME=\'周末是工作日的列表\')
- (SELECT COUNT(1) FROM pub_apppar WHERE APR_VALUE >= DATE_FORMAT(s,\'%Y-%m-%d\') AND APR_VALUE <= DATE_FORMAT(e,\'%Y-%m-%d\') AND APR_NAME=\'周一至周五为假期参数列表\')) as result
INTO workDays
from
(select datediff(e,s)+1 as days, weekday(s)+1 as wd ) as a;
return workDays;
END
继续阅读与本文标签相同的文章
轮播 Banner
LED广告机的智慧管理各个方面都已经基本成熟
-
最佳 Linux 发行版汇总
2026-05-18栏目: 教程
-
StartDT AI Lab | 视觉智能引擎——AI识货赋能商品数字化
2026-05-18栏目: 教程
-
【DockerCon2017技术解读】如何在阿里云一键部署高可用的Kubernetes集群
2026-05-18栏目: 教程
-
基于Jenkins的开发测试全流程持续集成实践
2026-05-18栏目: 教程
-
什么是网络爬虫?有什么用?怎么爬?终于有人讲明白了
2026-05-18栏目: 教程
