यह उत्तर निकोलस के समान है, जो आश्चर्य की बात नहीं है क्योंकि आपको 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
. शामिल है और ThruDate
. यह क्वेरी मानती है कि आपकी तिथियों में समय घटक नहीं है; यदि वे ऐसा करते हैं तो आपको TRUNC
. की आवश्यकता होगी सबक्वेरी में दिनांक कॉलम।