小编典典

Oracle SQl Dev,如何计算两个日期之间的工作日数

sql

有谁知道如何计算两个日期字段之间的工作日数?我正在使用oracle
sql开发人员。我需要找到多个开始日期和结束日期之间平日的平均值。因此,我需要获取每条记录的天数,以便对它们进行平均。这可以在SELECT查询的一部分中完成吗?


阅读 211

收藏
2021-04-22

共1个答案

小编典典

这个答案类似于Nicholas的答案,这并不奇怪,因为您需要一个带有a的子查询以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

计数包含在内,表示包含FromDateThruDate。该查询假设您的日期没有时间成分;如果需要,TRUNC则需要子查询中的日期列。

2021-04-22