Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak wykluczyć weekendy w SQL?

Wystarczy dodać następujący filtr :

WHERE TO_CHAR(date_column, 'DY','NLS_DATE_LANGUAGE=AMERICAN') NOT IN ('SAT', 'SUN')

Twoje zapytanie wyglądałoby tak:

SELECT SLA_Date
   FROM orders
 WHERE TO_CHAR(SLA_Date, 'DY','NLS_DATE_LANGUAGE=AMERICAN') NOT IN ('SAT', 'SUN')

Na przykład (klauzula WITH służy tylko do zbudowania przypadku testowego), poniższe zapytanie wyświetla tylko dni tygodnia (tj. z wyłączeniem soboty i niedzieli), począwszy od 1st May 2015 do 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>

Aby zapoznać się ze szczegółowym przykładem, zobacz Wygeneruj datę, nazwę miesiąca, numer tygodnia, numer dnia między dwiema datami



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przekaż tablicę jako parametr wejściowy do procedury składowanej Oracle za pomocą prostego wywołania jdbc

  2. Najlepszy wzorzec projektowy do zamykania połączenia z bazą danych w przypadku wystąpienia wyjątku

  3. Jak uzyskać nazwę schematu bazy danych podczas korzystania z połączenia Oracle jdbc?

  4. Oracle SQL — dynamiczna instrukcja przypadku

  5. uzyskać wspólne wiersze z jednej tabeli względem dowolnej kolumny