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

Oracle SQL Dev, jak obliczyć liczbę dni tygodnia między 2 datami

Ta odpowiedź jest podobna do odpowiedzi Nicholasa, co nie jest niespodzianką, ponieważ potrzebujesz podzapytania z CONNECT BY by stworzyć listę dat. Daty mogą być następnie liczone podczas sprawdzania dnia tygodnia. Różnica polega na tym, że pokazuje, jak uzyskać wartość liczby dni tygodnia w każdym wierszu wyników:

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

Liczba jest włącznie, co oznacza, że ​​zawiera FromDate i ThruDate . To zapytanie zakłada, że ​​daty nie mają składnika czasu; jeśli tak, będziesz musiał TRUNC kolumny dat w podzapytaniu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zastępowanie tekstu w kolumnie BLOB

  2. Tworzenie aplikacji Java w Oracle JDeveloper, część 1

  3. zaktualizuj zestaw z wewnętrznego zapytania sprzężenia, rzucając błąd

  4. ORA-00947 :Niewystarczające wartości

  5. Jak utworzyć strefę DMZ dla EBS R12?