有谁知道如何计算两个日期字段之间的工作日数?我正在使用 oracle sql 开发人员。我需要找到多个开始日期和结束日期之间工作日的平均值。因此,我需要获取每条记录的天数,以便对它们进行平均。这是可以作为一行完成的事情吗?SELECT
我的查询的一部分?
这个答案与尼古拉斯的类似,这并不奇怪,因为您需要一个带有CONNECT BY
生成日期列表。然后可以在检查星期几的同时计算日期。这里的区别在于它显示了如何获取结果每一行的工作日计数值:
SELECT
FromDate,
ThruDate,
(SELECT COUNT(*)
FROM DUAL
WHERE TO_CHAR(FromDate + LEVEL - 1, 'DY') NOT IN ('SAT', 'SUN')
CONNECT BY LEVEL <= ThruDate - FromDate + 1
) AS Weekday_Count
FROM myTable
计数是包容性的,这意味着它包括FromDate
and ThruDate
。此查询假设您的日期没有时间部分;如果他们这样做,你需要TRUNC
子查询中的日期列。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)