आपको बस निम्नलिखित फ़िल्टर जोड़ने की आवश्यकता है :
WHERE TO_CHAR(date_column, 'DY','NLS_DATE_LANGUAGE=AMERICAN') NOT IN ('SAT', 'SUN')
आपकी क्वेरी कुछ इस तरह दिखेगी:
SELECT SLA_Date
FROM orders
WHERE TO_CHAR(SLA_Date, 'DY','NLS_DATE_LANGUAGE=AMERICAN') NOT IN ('SAT', 'SUN')
उदाहरण के लिए (विथ क्लॉज केवल एक टेस्ट केस बनाने के लिए है), नीचे दी गई क्वेरी 1st May 2015
से लेकर केवल सप्ताह के दिनों (यानी शनि और सूर्य को छोड़कर) को प्रदर्शित करना है। से 31st May 2015
. तक :
SQL> WITH DATA AS
2 (SELECT to_date('05/01/2015', 'MM/DD/YYYY') date1,
3 to_date('05/31/2015', 'MM/DD/YYYY') date2
4 FROM dual
5 )
6 SELECT date1+LEVEL-1 the_date,
7 TO_CHAR(date1+LEVEL-1, 'DY','NLS_DATE_LANGUAGE=AMERICAN') day
8 FROM DATA
9 WHERE TO_CHAR(date1+LEVEL-1, 'DY','NLS_DATE_LANGUAGE=AMERICAN')
10 NOT IN ('SAT', 'SUN')
11 CONNECT BY LEVEL <= date2-date1+1;
THE_DATE DAY
--------- ---
01-MAY-15 FRI
04-MAY-15 MON
05-MAY-15 TUE
06-MAY-15 WED
07-MAY-15 THU
08-MAY-15 FRI
11-MAY-15 MON
12-MAY-15 TUE
13-MAY-15 WED
14-MAY-15 THU
15-MAY-15 FRI
18-MAY-15 MON
19-MAY-15 TUE
20-MAY-15 WED
21-MAY-15 THU
22-MAY-15 FRI
25-MAY-15 MON
26-MAY-15 TUE
27-MAY-15 WED
28-MAY-15 THU
29-MAY-15 FRI
21 rows selected.
SQL>
विस्तृत उदाहरण के लिए, देखें दिनांक, महीने का नाम, सप्ताह संख्या, दो तिथियों के बीच दिन संख्या उत्पन्न करें