Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle SQl Dev, как да изчисля броя на дните от седмицата между 2 дати

Този отговор е подобен на този на Никълъс, което не е изненада, защото имате нужда от подзаявка с 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 колоните с дати в подзаявката.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Възможно ли е да се препраща към 10-ти и следващи заместващи низове в regexp_replace на Oracle?

  2. Подаване на ограничен низ в клаузата NOT IN

  3. ORA-01005 грешка при свързване с ODP.Net

  4. Параметризирана заявка на Oracle в c#

  5. Как да разбера кога съхранена процедура е била последно модифицирана или компилирана в Oracle?