Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle SQl Dev, como calcular o número de dias da semana entre 2 datas


Esta resposta é semelhante à de Nicholas, o que não é uma surpresa porque você precisa de uma subconsulta com um CONNECT BY para produzir uma lista de datas. As datas podem ser contadas durante a verificação do dia da semana. A diferença aqui é que ele mostra como obter o valor da contagem de dias da semana em cada linha dos resultados:
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

A contagem é inclusiva, o que significa que inclui FromDate e ThruDate . Essa consulta pressupõe que suas datas não tenham um componente de hora; se isso acontecer, você precisará TRUNC as colunas de data na subconsulta.