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

woo*_*ods 4 sql oracle date count

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

Ed *_*bbs 10

这个答案类似于Nicholas的,这并不奇怪,因为你需要一个子查询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
Run Code Online (Sandbox Code Playgroud)

计数是包容性的,意味着它包括FromDateThruDate.此查询假定您的日期没有时间组件; 如果他们这样做,您将需要TRUNC子查询中的日期列.