sql >> Base de Datos >  >> RDS >> Oracle

Oracle SQl Dev, cómo calcular el número de días de la semana entre 2 fechas

Esta respuesta es similar a la de Nicholas, lo cual no es una sorpresa porque necesita una subconsulta con un CONNECT BY para hacer girar una lista de fechas. Las fechas se pueden contar mientras se comprueba el día de la semana. La diferencia aquí es que muestra cómo obtener el valor de conteo de días de la semana en cada línea de los 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

El recuento es inclusivo, lo que significa que incluye FromDate y ThruDate . Esta consulta asume que sus fechas no tienen un componente de tiempo; si lo hacen, deberá TRUNC las columnas de fecha en la subconsulta.