Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

मैं SQL में सप्ताहांत कैसे निकालूँ?

आपको बस निम्नलिखित फ़िल्टर जोड़ने की आवश्यकता है :

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>

विस्तृत उदाहरण के लिए, देखें दिनांक, महीने का नाम, सप्ताह संख्या, दो तिथियों के बीच दिन संख्या उत्पन्न करें



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक्सेल वीबीए से ओरेकल पीएल एसक्यूएल फ़ंक्शन को कॉल करना

  2. Oracle बाहरी तालिका उदाहरण

  3. oci_parse का वापसी मूल्य

  4. ब्लॉब फ़ील्ड पीएल/एसक्यूएल से एकाधिक मान पढ़ना

  5. ActiveMQ 5.8:JDBC ड्राइवर वर्ग 'oracle.jdbc.driver.OracleDriver' लोड नहीं कर सकता